home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / tool / hk2 / bas / hk2src.bas < prev   
Encoding:
BASIC Source File  |  1995-07-15  |  80.7 KB  |  2,151 lines

  1. 10 '------------------------------------------------------------------
  2. 20 '  HK2SRC.BAS  Copyrigit(C) T.Komura    / 家計簿システム HK   /
  3. 30 '                                       / Version 2           /
  4. 31 '   Version 4.0  1992.08.04-1992.08.06  / 検索プログラム      /
  5. 32 'HK version 1.0  1993.01.01 公開バージョン
  6. 33 'HK version 1.1a 1993.08.04 辞書入力追加
  7. 34 'HK version 1.1b 1993.08.04 検索条件ウインドウを12dotフォント化
  8. 35 'HK version 1.4  1994.06.12 v1.4対応
  9. 36 '  HK2 V2.0 L10a 1995.05.27 v2.0
  10. 37 '  HK2 V2.0 L10f 1995.07.07 辞書入力の消去文字数修正/検索処理状況表示
  11. 38 '  HK2 V2.0 L10g 1995.07.15 検索中断時状況表示枠消去もれ修正
  12. 39 '                           検索キーワード区切り文字を"/"と"・"(追加)とする
  13. 100 '------------------------------------------------------------------
  14. 120 CLEAR ,,,,1024,300*1024
  15. 165 DIM CFI$(15)
  16. 170 GOSUB *CONFIGファイルチェック
  17. 190 '
  18. 200 *初期設定:'--------------------------------------------------------
  19. 210 CMD$="CD "+PRGDRV$:SHELL CMD$
  20. 220 CONSOLE 0,24,0:MOUSE 0
  21. 230 DIM MSGD%(28000):' 音声メッセージ配列定義 プログラム先頭で定義
  22. 240 LOAD@ FMBDRV$+"\FMP.FMB"
  23. 250 PLAY "@30T150V6":DATX$=DATE$
  24. 255 'ウインドウ関係座標配列
  25. 256 G=7:B=50
  26. 260 DIM B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B),BST(G,B)
  27. 265 DIM W_X1(G),W_X2(G),W_Y1(G),W_Y2(G)
  28. 266 DIM W_XA(G),W_XB(G),W_YA(G),W_YB(G)
  29. 267 DIM MD_SB#(10465),MD_SW#(10465),MD_SX#(10465):'max : HELP window
  30. 268 'デ-タ配列
  31. 270 DIM DYN$(16),DRM$(16),DYN#(16),EVDT$(12,32)
  32. 272 DIM ITEM$(20),ITEMC(20),SRD(16),FKEYS(16)
  33. 274 DIM UXX$(20,6),VXX$(20,6),KEYS$(16)
  34. 280 DIM WRD$(15,128),WLN(15,128),WRDM(128)    :'辞書データ
  35. 295 DIM DOC$(2000)                            :'HELPデータ
  36. 300 INTERVAL 1                  :'プログラム先頭
  37. 310 ON INTERVAL GOSUB *時計表示 :'プログラム先頭 
  38. 320 GOSUB *ボタン座標読み取り
  39. 325 GOSUB *検索モード読み取り
  40. 330 'CLS:COLOR 7:PRINT int((int(((155-14+1)+7)/8)*(415-131+1)*4+8-1)/8)
  41. 360 DIM LMB#(900),ABOUTD#(2071),HLPL#(397),HLPC#(8449),DICD#(2565)
  42. 370 ON ERROR GOTO *ERROR
  43. 380 ON KEY(10) GOSUB *検索中止'
  44. 400 GOSUB *MCREAD:GOSUB *DCLOCKREAD
  45. 440 '
  46. 510 CTRLB1=17:'コントロールボタン個数
  47. 515 CTRLB2=15
  48. 524 HKSRC  =3  :'検索ボタン番号
  49. 526 HKSRCEND=10:'終了ボタン番号
  50. 540 DOCF$="\HK2src.HLP"
  51. 600 PRTCD=1    :'1=esc/p 0=fmpr
  52. 980 '
  53. 1000 *メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  54. 1005 GOSUB *SEFFECT1
  55. 1020 GOSUB *本日の日付
  56. 1025 IF DICSF=1 THEN GOSUB *DICREAD
  57. 1030 GOSUB *前検索データ表示
  58. 1036 IF SRCF=1 THEN MES2OFF=1
  59. 1040 MOUSE 1,320,64,1
  60. 1045 MCN=1:GOSUB *MCDSET
  61. 1060 MESN=18:GOSUB *SNDMSG
  62. 1100 *メイン選択
  63. 1110 IF MES2OFF=0 THEN MESN=2:GOSUB *MESDSP
  64. 1120 MES2OFF=0
  65. 1130 SWPASS=1:G=1:GOSUB *MCSELECT
  66. 1135 IF SWNO<0 THEN SWNO=17
  67. 1140 IF SWNO>CTRLB1 THEN GOTO *検索結果制御
  68. 1150 '            HK2  記入 検索 分析 CLND 設定 日付 時計 HELP END                                                     PRNT M01  M02  M03  M04  実行 取消
  69. 1155 ON SWNO GOTO *S01,*S02,*S02,*S02,*S02,*S02,*S99,*S03,*S07,*S08,                                                   *S09,*SMO,*SMO,*SMO,*SMO,*S04,*S05
  70. 1160 *S99:GOTO 1100
  71. 1190 '
  72. 1200 *SMO:'モード変更 --------------------------------------------------
  73. 1205  SWNOMEM=SWNO
  74. 1210  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  75. 1220  IF SRCF=0 THEN 1250
  76. 1230  CMES$="「検索モード変更」検索結果を破棄します。":GOSUB *確認
  77. 1240  ON CAUNO GOTO 1242,1640
  78. 1242  SMODSEL=0:GOSUB *検索条件消去
  79. 1245  SRCF=0   :GOSUB *検索結果データ画面消去
  80. 1250 '
  81. 1270  SMODE=SWNO-11:SMODSEL=1
  82. 1560  CDTSET=0:GOSUB *検索条件設定
  83. 1570  IF SRCCAN=0 THEN 1600
  84. 1580  GOTO 1625
  85. 1600  G=3:GOSUB *検索条件表示:CDTSET=1
  86. 1610  MESN=13:GOSUB *MESDSP:MESN=16:GOSUB *SNDMSG
  87. 1620  MES2OFF=1
  88. 1625  SWNO=SWNOMEM
  89. 1626  IF CDTSET=1 THEN 1670
  90. 1640  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  91. 1670  GOTO *メイン選択
  92. 1690 '
  93. 1700 *S05:'取消 ---------------------------------------------------------
  94. 1710  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  95. 1720  IF SMODSEL=1 THEN 1750
  96. 1730  MESN=14:GOSUB *MESDSP:MESN=12:GOSUB *SNDMSG
  97. 1740  FOR II=1 TO 5000:NEXT II:GOTO 1760
  98. 1750  SMODSEL=0:GOSUB *検索条件消去
  99. 1751  SRCF=0   :GOSUB *検索結果データ画面消去
  100. 1752  G=1:B=SMODE+11:BST(G,B)=0:GOSUB *BTN_ONOFF
  101. 1760  MES2OFF=0
  102. 1770  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  103. 1780  GOTO *メイン選択
  104. 1790 '
  105. 1920 '
  106. 2000 *S04:'実行 --------------------------------------------------------
  107. 2010  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  108. 2015  IF SRCF=1 THEN MES2OFF=1:GOTO 2470
  109. 2020  IF SMODSEL=1 THEN 2100
  110. 2030  MESN=14:GOSUB *MESDSP:MESN=12:GOSUB *SNDMSG
  111. 2040  FOR II=1 TO 5000:NEXT II:MES2OFF=0:GOTO 2470
  112. 2090 '
  113. 2100  GOSUB *検索実行
  114. 2110  GOSUB *初期表示ポイント検出
  115. 2120  IF BR<>0 THEN 2200
  116. 2130  MESN=18:GOSUB *MESDSP:MESN=19:GOSUB *SNDMSG
  117. 2132  SMODSEL=0:' GOSUB *検索条件消去
  118. 2134  SRCF=0   :GOSUB *検索結果データ画面消去
  119. 2140  WAIT SWAIT:MES2OFF=0
  120. 2150  G=1:B=SMODE+11:BST(G,B)=0:GOSUB *BTN_ONOFF
  121. 2160  GOTO 2470
  122. 2190 '
  123. 2200  GOSUB *検索結果データ表示MAIN
  124. 2210  SRCF=1
  125. 2220  G=1:B=SMODE+11:BST(G,B)=0:GOSUB *BTN_ONOFF
  126. 2230  MESN=19:GOSUB *MESDSP:MESN=14:GOSUB *SNDMSG
  127. 2240  GOSUB *検索結果ページ表示
  128. 2460  MES2OFF=1
  129. 2470  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  130. 2480  GOTO *メイン選択
  131. 2490 '
  132. 2500 *S09:'検索結果印刷 -----------------------------------------------'
  133. 2510  IF SRCF=0 THEN GOTO 2550
  134. 2520  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  135. 2530  MESN=2:GOSUB *MESDSP
  136. 2540  GOSUB *検索結果印刷 
  137. 2550  MES2OFF=0
  138. 2560  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  139. 2570  GOTO *メイン選択
  140. 2580 '
  141. 2790 '
  142. 3000 *検索結果制御'----------------------------------------------------'
  143. 3005  IF SRCF=0 THEN 3090
  144. 3010  IF SWNO=18 THEN PDEF=-1:GOTO *SCPCHG'
  145. 3020  IF SWNO=21 THEN PDEF=+1:GOTO *SCPCHG
  146. 3030  IF SWNO=19 THEN LDEF=-1:GOTO *SCLCHG'
  147. 3040  IF SWNO=20 THEN LDEF=+1:GOTO *SCLCHG
  148. 3050  IF SWNO>21 THEN *SRCJUMP
  149. 3070  MES2OFF=1
  150. 3080  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  151. 3090  GOTO *メイン選択
  152. 3100 *SCPCHG
  153. 3110  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  154. 3130  GOSUB *ページ変更
  155. 3140  GOSUB *検索結果データ表示MAIN
  156. 3150  GOTO 3070
  157. 3200 *SCLCHG
  158. 3210  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  159. 3230  GOSUB *行変更
  160. 3240  GOSUB *検索結果データ表示MAIN
  161. 3250  GOTO 3070
  162. 3260 '
  163. 3300 *SRCJUMP
  164. 3310  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  165. 3320  DSPL=SWNO-21
  166. 3330  IF SITM=1 THEN DT$=VXX$(DSPL,1) ELSE DT$=UXX$(DSPL,1)
  167. 3332  IF DT$=SPACE$(10) THEN GOTO 3070
  168. 3350  CMES$="指定日付の「記入・編集モード」へ移行":GOSUB *確認
  169. 3360  ON CAUNO GOTO 3400,3070
  170. 3400  GOSUB *DTSAVE
  171. 3410  SWNO=2:GOTO *S02
  172. 5990 '
  173. 6000 *S01:'About HK2---------------------------------------------------'
  174. 6010  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  175. 6020  MESN=1:GOSUB *MESDSP
  176. 6030  GOSUB *ABOUT表示
  177. 6060  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  178. 6070  GOTO *メイン選択
  179. 6080 '
  180. 6100 *S03:'Digital Clock ----------------------------------------------'
  181. 6110  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  182. 6120  MESN=20:GOSUB *MESDSP
  183. 6130  GOSUB *DGCLOCK
  184. 6160  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  185. 6170  GOTO *メイン選択
  186. 6180 '
  187. 6200 *S07:'Help -------------------------------------------------------'
  188. 6210  G=1:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  189. 6220  MESN=20:GOSUB *MESDSP
  190. 6230  GOSUB *HKHELP
  191. 6260  G=1:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  192. 6270  GOTO *メイン選択
  193. 6280 '
  194. 7900 '
  195. 8000 *S02:'プログラム呼び出し・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  196. 8010 IF SWNO=HKSRC THEN GOTO *メイン選択
  197. 8020 G=1:B=HKSRC:BST(G,B)=0:GOSUB *BTN_ONOFF
  198. 8025 G=1:B=SWNO :BST(G,B)=1:GOSUB *BTN_ONOFF
  199. 8110 MESN=9:GOSUB *MESDSP':MESN=24:GOSUB *SNDMSG
  200. 8120 INTERVAL OFF:GOSUB *SEFFECT2
  201. 8130 ON SWNO-1 GOTO *S021,*S02,*S023,*S024,*S025
  202. 8150 '
  203. 8160 *S021:RUN "HK2in.bas"
  204. 8170 *S023:RUN "HK2anl.bas"
  205. 8180 *S024:RUN "HK2cld.bas"
  206. 8190 *S025:RUN "HK2cfg.bas"
  207. 8940 '
  208. 9000 *S08:'終了・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  209. 9020 G=1:B=HKSRCEND:BST(G,B)=1:GOSUB *BTN_ONOFF
  210. 9060 '
  211. 9110 MESN=9:GOSUB *MESDSP:MESN=24:GOSUB *SNDMSG
  212. 9120 INTERVAL OFF
  213. 9130 GOSUB *SEFFECT2
  214. 9150 RUN "hk2.bas"
  215. 9160 '
  216. 9900 '-------------------------------------------------------------------
  217. 9910 '    GENERAL SUB ROUTINE
  218. 9920 '-------------------------------------------------------------------
  219. 10000 *CHR1IN:'////////// 1文字入力
  220. 10010  A$=INKEY$:IF A$="" THEN 10010
  221. 10020  A=INSTR(C$,A$)
  222. 10030  IF A=0 THEN MESN=13:GOSUB *SNDMSG:GOTO 10010
  223. 10040  RETURN
  224. 10050 '
  225. 10060 '
  226. 10070 *MESDSP:'////////// メッセージ表示
  227. 10080  RESTORE *MESDAT
  228. 10090  FOR IM=1 TO MESN:READ XM,YM,CM,CB,BM,MES$:NEXT IM
  229. 10105  LINE(0,463)-(639,479),PSET,0,BF
  230. 10115  SYMBOL(0,465),MES$,.75!,.75!,CM
  231. 10120  'IF BM=1 THEN PLAY "L4O4A"
  232. 10130  RETURN
  233. 10140 '
  234. 10200 *MESDAT:'////////// メッセージデータ
  235. 10205 '    XM, YN, CM, CB, BM
  236. 10210 DATA  2, 23,  5,  0,  1 :'--- 01
  237. 10215 DATA "家計簿システム HK2 [検索モード]"
  238. 10220 DATA  2, 23,  7,  0,  0 :'--- 02
  239. 10225 DATA "検索モードを選んでください。"
  240. 10230 DATA  2, 23,  5,  0,  0 :'--- 03
  241. 10235 DATA "                                                                ●印の項目を設定してください。"
  242. 10240 DATA  2, 23,  7,  0,  1 :'--- 04
  243. 10245 DATA "前回の検索結果を表示しています。 検索モードを選んでください。 頁移動-[ヒ][フ]行移動-[▲][▼]"
  244. 10250 DATA  2, 23,  4,  0,  1 :'--- 05
  245. 10255 DATA ""
  246. 10260 DATA  2, 23,  6,  0,  1 :'--- 06
  247. 10265 DATA "この検索モードでは、指定した検索条件は無効です。"
  248. 10270 DATA  2, 23,  6,  0,  0 :'--- 07
  249. 10275 DATA "検索開始年月が検索終了年月よりも大きくなっています。 訂正してください。"
  250. 10280 DATA  2, 23,  6,  0,  0 :'--- 08
  251. 10285 DATA "金額範囲の指定に誤りがあります。訂正してください。"
  252. 10290 DATA  2, 23,  5,  0,  1 :'--- 09
  253. 10295 DATA "★★★ しばらくお待ちください。"
  254. 10300 DATA  2, 23,  6,  0,  0 :'--- 10
  255. 10305 DATA "この検索モードでは、指定した検索項目は無効です。 検索項目を選択し直して下さい。"
  256. 10310 DATA  2, 23,  6,  0,  0 :'--- 11
  257. 10315 DATA "検索項目が指定されていません。 検索項目を選んでください。"
  258. 10320 DATA  2, 23,  7,  0,  0 :'--- 12
  259. 10325 DATA "検索条件ファイルを保存しますか? 保存する--[OK] 保存しない--[NG]"
  260. 10330 DATA  2, 23,  7,  0,  1 :'--- 13
  261. 10335 DATA "検索条件を確認して[実行]ボタンを押してください。"
  262. 10340 DATA  2, 23,  6,  0,  1 :'--- 14
  263. 10345 DATA "検索モードを選んでください。"
  264. 10350 DATA  2, 23,  6,  0,  1 :'--- 15
  265. 10355 DATA "検索開始年月の家計簿ファイルがありません。"
  266. 10360 DATA  2, 23,  6,  0,  1 :'--- 16
  267. 10365 DATA "検索終了年月の家計簿ファイルがありません。"
  268. 10370 DATA  2, 23,  4,  0,  1 :'--- 17
  269. 10375 DATA "★検索実行中!! (中止は[PF10])"
  270. 10380 DATA  2, 23,  6,  0,  1 :'--- 18
  271. 10385 DATA "検索の結果該当するデータが有りませんでした。"
  272. 10390 DATA  2, 23,  7,  0,  1 :'--- 19
  273. 10395 DATA "[JUMP]で「記入」モードへ移行。 頁移動-[ヒ][フ]行移動-[▲][▼] [取消]--検索条件変更"
  274. 10400 DATA  2, 23,  5,  0,  1 :'--- 20
  275. 10405 DATA "HKHELP★検索モードの説明を表示しています。  頁移動-[ヒ][フ] 行移動-[▲][▼] 終了-[■]" 
  276. 10410 DATA  2, 23,  4,  0,  1 :'--- 21
  277. 10415 DATA "★辞書入力を「有効」にします!! "
  278. 10420 DATA  2, 23,  4,  0,  1 :'--- 22
  279. 10425 DATA "★辞書入力を「無効」にします!! "
  280. 10430 DATA  2, 23,  7,  0,  1 :'--- 23
  281. 10435 DATA "辞書から語句を選んでください。 "
  282. 10600 *SEFFECT1'////////////////////////////////////////////////////////
  283. 10605  SCREEN 1,1,2,1:PALETTE 9,[0,0,0]:LINE(0,0)-(639,479),PSET,1,BF
  284. 10610  SCREEN 1,0,2,1:GOSUB *表紙表示
  285. 10612  SCREEN 1,1,3,1:
  286. 10620  FOR II=0 TO 240 STEP 2:PALETTE 9,[II,II,II]
  287. 10621 '   LINE(320-II,240-II*3/4)-(320+II,240+II*3/4),PSET,0,B
  288. 10622     LINE(0,240-II)-(639,240+II),PSET,0,BF
  289. 10623  NEXT II
  290. 10630  SCREEN 1,0,1,0:INTERVAL ON
  291. 10640  SCREEN 0
  292. 10645  RETURN
  293. 10650 '
  294. 10700 *SEFFECT2'////////////////////////////////////////////////////////
  295. 10712  SCREEN 1,1,3,1:
  296. 10720  FOR II=240 TO 0 STEP -1:PALETTE 9,[II,II,II]
  297. 10721     LINE(0,240+II)-(639,240-II),PSET,1,B
  298. 10723  NEXT II
  299. 10730  MESN=9:GOSUB *MESDSP
  300. 10740  RETURN
  301. 10990 '
  302. 11000 *SNDMSG:'  SAVE "SNDMSG.SUB",A
  303. 11005  IF SNDMF=0 THEN RETURN
  304. 11010  '・・・・・・・・・・・・・・・・・  サウンドメッセージ実行サブルーチン  1989.02.04
  305. 11020  '                   入力=MESN (メッセージNo.)
  306. 11030  '
  307. 11070  IF MESN>36 THEN *RETURN_SNDMSG :'END
  308. 11080  RESTORE *MSGNAM
  309. 11090  FOR IMSG=1 TO MESN
  310. 11100    READ MSGD$
  311. 11110  NEXT IMSG
  312. 11120  MSGFN$=SNDDRV$+"\"+MSGD$+"_F.SND"
  313. 11130  LOAD@ MSGFN$,MSGD%
  314. 11140  PCMPLAY MSGD%:WAIT SWAIT\1+1
  315. 11150 *RETURN_SNDMSG :RETURN
  316. 11160 *MSGNAM :'////////// .SND File Name Data
  317. 11170 DATA "OHA1"   :'  1 おはよう
  318. 11180 DATA "KONN"   :'  2 こんにちわ
  319. 11190 DATA "KONBAN" :'  3 こんばんわ
  320. 11200 DATA "goyuku" :'  4 ごゆっくり
  321. 11210 DATA "GOKRO2" :'  5 ごくろうさま
  322. 11220 DATA "OTUKA"  :'  6 お疲れさま
  323. 11230 DATA "OMATA"  :'  7 おまたせ
  324. 11240 DATA "ARIGA2" :'  8 ありがとう
  325. 11250 DATA "RUNRUN" :'  9 るんるん
  326. 11260 DATA "DAMEDE" :' 10 だめでしょう
  327. 11270 DATA "IIDE1"  :' 11 いいですか
  328. 11280 DATA "NANISI" :' 12 なにしてるの
  329. 11290 DATA "DAMEDA" :' 13 だめだめ
  330. 11300 DATA "OWARI"  :' 14 終わりました
  331. 11310 DATA "SIBA"   :' 15 しばらくお待ち下さい
  332. 11320 DATA "YOROSI" :' 16 よろしいですか
  333. 11330 DATA "TYANTO" :' 17 ちゃんとしなさい
  334. 11340 DATA "ERANDE" :' 18 選んでください
  335. 11350 DATA "KAKNIN" :' 19 確認して下さい
  336. 11360 DATA "NYURYO" :' 20 入力してください
  337. 11370 DATA "IRA"    :' 21 いらっしゃいませ 
  338. 11380 DATA "OYASUM" :' 22 おやすみ
  339. 11390 DATA "ARIGA3" :' 23 ありがとうございました
  340. 11400 DATA "TYOTO"  :' 24 ちょっと待って
  341. 11410 DATA "DAMEYO" :' 25 駄目よ
  342. 11420 DATA "YAMETE" :' 26 やめて
  343. 11430 DATA "TIGAU"  :' 27 ちがうよ
  344. 11440 DATA "PINPON" :' 28 ぴんぽーん
  345. 11450 DATA "BUU"    :' 29 ぶー
  346. 11460 DATA "MOUII"  :' 30 もういいよう  
  347. 11470 DATA "DEKITA" :' 31 できたよー
  348. 11480 DATA "IIDE2"  :' 32 いいですか(2)
  349. 11490 DATA "YOSI"   :' 33 よしなさい
  350. 11500 DATA "OYOSI"  :' 34 およしなさい
  351. 11510 DATA "YAMENA" :' 35 やめなさい
  352. 11520 DATA "GOMEN"  :' 36 ごめん
  353. 11530 '                                    
  354. 12000 '////////// 年月日入力 & 曜日表示
  355. 12010 '                    
  356. 12045 *週検索
  357. 12050  DATA "SUN",2,"MON",7,"TUE",7,"WED",7,"THU",7,"FRI",7,"SAT",5
  358. 12060  GOSUB *WEEKN:RESTORE 12050:FOR IW=0 TO WK:READ WKM$,CW:NEXT IW
  359. 12080  RETURN
  360. 12090 '
  361. 12450 *WEEKN :'////////// 週NO.検索    'v1.3 bugfix 93.12.27
  362. 12460  U=0    :'・・・・・・・・・・・・・・・・・・・・・・・・ Input; YR MN   Output; WK DN
  363. 12470  IF YR/4-INT(YR/4)=0 THEN U=1
  364. 12480  DATA 0,31,28,31,30,31,30,31,31,30,31,30,31
  365. 12490  DATA 0,31,29,31,30,31,30,31,31,30,31,30,31
  366. 12500  IF U=0 THEN RESTORE 12480 ELSE RESTORE 12490
  367. 12505 'IF MN=1 THEN MDN=0:MNDN=31:GOTO 12520
  368. 12510  MDN=0:FOR IWEKN=1 TO MN:READ DN:MDN=MDN+DN:NEXT IWEKN:'1日までの日数
  369. 12515  READ MNDN                                              :'当月の日数
  370. 12516  IF DY>MNDN THEN DY=MNDN                                :'V1.3!
  371. 12520  YDN#=MDN+YR*365+INT((YR+3)/4)+5+DY-1
  372. 12530  WK=(YDN#/7-INT(YDN#/7))*7
  373. 12540  RETURN
  374. 12550 '
  375. 12600 *年月日変更:                     'v1.3 bugfix 93.12.27
  376. 12601  GOSUB *WEEKN
  377. 12602  DY=DY+DDEF
  378. 12604  IF DY>MNDN THEN DY=1     :MDEF=+1
  379. 12606  IF DY<1    THEN DY=31    :MDEF=-1
  380. 12610  MN=MN+MDEF
  381. 12620  IF MN>12   THEN MN=MN-12 :YDEF=+1
  382. 12630  IF MN<1    THEN MN=12+MN :YDEF=-1
  383. 12640  YR=YR+YDEF
  384. 12650  IF YR<0    THEN YR=10000+YR
  385. 12660  IF YR>9999 THEN YR=YR-10000
  386. 12665  GOSUB *WEEKN
  387. 12668  DY$=RIGHT$(STR$(100+DY),2)
  388. 12670  MN$=RIGHT$(STR$(100+MN),2)
  389. 12680  YR$=RIGHT$(STR$(10000+YR),4)
  390. 12690  RETURN
  391. 12695 '
  392. 12700 *本日の日付
  393. 12705  DEF FONT "システム   12ドット"
  394. 12710  TY$=LEFT$(DATE$,2) :TY=VAL(TY$)
  395. 12720  IF TY<90 THEN TY=TY+2000 ELSE TY=TY+1900
  396. 12730  TY$=RIGHT$(STR$(TY),4)
  397. 12740  TM$=MID$(DATE$,4,2):TM=VAL(TM$)
  398. 12750  TD$=RIGHT$(DATE$,2):TD=VAL(TD$)
  399. 12760  YR=TY:MN=TM:DY=TD:GOSUB *週検索:IF CW=0 THEN CW=7
  400. 12770  TYMD$=TY$+"."+TM$+"."+TD$
  401. 12780  LINE(475,5)-(560,17),PSET,0,BF
  402. 12790  SYMBOL(476,6),TYMD$,.75!,.75!,7
  403. 12800  SYMBOL(542,6),WKM$,.75!,.75!,CW
  404. 12810  RETURN
  405. 12820 '
  406. 13000 '////////////////////////////////////////////////////////////////////
  407. 13001 ' LKEYIN   v1.1a 全角文字移動改良                1993.02.12 T.Komura
  408. 13002 '--------- v1.2  挿入モードの変更他全面bugFIX    1993.08.04 T.Komura
  409. 13003 '          v2.0  グラフィックモード12dot用に改造 1994.07.30 T.Komura
  410. 13004 '          v2.1  マルチカラムに改造              1994.09.02 T.Komura
  411. 13005 '          v2.2  編集文字を初期表示するように改造1995.04.29 T.Komura
  412. 13006 '
  413. 13010 *LKEYIN  :'・・・・・・・・・・・ 1 行全角文字入力サブルーチン
  414. 13020 '   入力 = LX,LY : 表示開始座標      LG    : 行数     
  415. 13030 '          L$(ii): 初期文字列        LP    : 行ピッチ       
  416. 13040 '          LC    : 表示文字色        lb    : 非編集行文字色
  417. 13050 '          LL    : 最大文字数        cbc    : 背景色
  418. 13060 '          LINS  : 挿入モード=1  出力=L$(ii) : 入力後の文字列
  419. 13070 '         
  420. 13080  LCSRCL=6:LLINCL=4
  421. 13090  DEF FONT "システム   12ドット"
  422. 13100 '           CR   MR   ML  INS  DEL   BS  CAN
  423. 13120  CONSOLE 0,24,2
  424. 13130  CC$=CHR$(&H0D,&H1E,&H1F,&H1C,&H1D,&H12,&H7F,&H08,&H18)
  425. 13140 ' LMG$=SPACE$(LL):LMGD$=SPACE$(LL)          :'2.1
  426. 13150  LA$=INKEY$:IF LA$<>"" THEN 13150
  427. 13160  IF LINS=1 THEN CWDT=1 ELSE CWDT=5
  428. 13170  LCSR=0:LGC=1                               :'v2.1
  429. 13180  LINE(LX,LY)-(LX+LL*6+1,LY+11),PSET,%CBC,BF :'v2.2
  430. 13185  GET@A (LX,LY)-(LX+LL*6+1,LY+13),LMB#       :'v2.0
  431. 13190  FOR LGII=1 TO LG:LXX=LX:LYY=LY+(LGII-1)*LP :'v2.1・・・・ 初期文字列表示
  432. 13200   PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.1
  433. 13210   SYMBOL(LXX,LYY),L$(LGII),.75!,.75!,LB     :'v2.1
  434. 13220  NEXT LGII                                  :'v2.1
  435. 13230 *SETLG             :'----------行セット     :'v2.1
  436. 13240  LYY=LY+(LGC-1)*LP :LM$=L$(LGC)             :'v2.1
  437. 13250   SYMBOL(LXX,LYY),L$(LGC),.75!,.75!,LC      :'v2.1
  438. 13260  LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF :'v2.1
  439. 13270  LCSRX=LCSR:GOSUB *LCSRDX
  440. 13280  LMX$=LEFT$(LM$+SPACE$(LL),LL)
  441. 13290  GOSUB *LMREAD
  442. 13300  IF LMGB$="1" THEN GOSUB *LCSRDEC
  443. 13310 *IN1C:'                                  ・・・・・・・・・・ 1 文字入力
  444. 13320  LA$=INKEY$:IF LA$="" THEN 13320
  445. 13330  ALA=ASC(LA$):CLA=INSTR(CC$,LA$)
  446. 13340  IF CLA=0 THEN 13360
  447. 13350  ON CLA GOTO *CR,*MU,*MD,*MR,*ML,*INS,*DEL,*BS,*CAN
  448. 13360  IF KANF=1 THEN *KANJI
  449. 13370  IF ALA<&H20 THEN BEEP:GOTO *IN1C
  450. 13380  IF ALA>=&H20 AND ALA<&H80 THEN *ANK
  451. 13390  IF ALA>=&HA0 AND ALA<&HE0 THEN *ANK
  452. 13400  GOTO *KANJI
  453. 13410 *ANK :'                                  ・・・・・・・・・・ ANK 文字入力
  454. 13420  IF LINS=1 THEN 13440
  455. 13430  MID$(LMX$,LCSR+1,1)=LA$:GOTO 13450
  456. 13440  LMX$=LEFT$(LMX$,LCSR)+LA$+RIGHT$(LMX$,LL-LCSR)
  457. 13450  GOSUB *LCSRINC
  458. 13460  GOSUB *LMREAD1:GOSUB *LMXDSP
  459. 13470  GOTO *IN1C
  460. 13480 *KANJI :'                                ・・・・・・・・・・ 漢字文字入力
  461. 13490  ON KANF+1 GOTO 13500,13530
  462. 13500  KANF=1:KANW$="":KANW$=LA$
  463. 13510    IF LCSR+1>=LL THEN KANF=0:BEEP
  464. 13520    GOSUB *LCSRD:GOTO *IN1C
  465. 13530  KANF=0:KANW$=KANW$+LA$
  466. 13540    IF LINS=1 THEN 13560
  467. 13550    MID$(LMX$,LCSR+1,2)=KANW$:GOTO 13570
  468. 13560    LMX$=LEFT$(LMX$,LCSR)+KANW$+RIGHT$(LMX$,LL-LCSR)
  469. 13570    GOSUB *LCSR2INC
  470. 13580    GOSUB *LMREAD1:GOSUB *LMXDSP
  471. 13590  GOTO *IN1C
  472. 13600 *CR :GOSUB *LMREAD:GOSUB *LCSRDX         '////////// End
  473. 13610   LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF     :'v2.0 :'v2.1
  474. 13620   CONSOLE 0,24,0
  475. 13630 RETURN:'----------------------------------------------------------
  476. 13640 *MU :GOSUB *LMREAD2                      '////////// up   :v2.1
  477. 13645 *MU2:GOSUB *LMBDSP:LGC=LGC-1:IF LGC<1 THEN LGC=1
  478. 13655      GOTO *SETLG
  479. 13660 *MD :GOSUB *LMREAD2                      '////////// down :v2.1
  480. 13665 *MD2:GOSUB *LMBDSP:LGC=LGC+1:IF LGC>LG THEN LGC=LG
  481. 13675      GOTO *SETLG
  482. 13680 *MR :GOSUB *LMREAD2                      '////////// Right
  483. 13685      IF LMGF$="1" THEN GOSUB *LCSR2INC:GOTO *MUD    :'v2.1
  484. 13690                        GOSUB *LCSRINC :GOTO *MUD    :'v2.1
  485. 13695 *ML :GOSUB *LMREAD2                      '////////// Left
  486. 13700      IF LMGB$="2" THEN GOSUB *LCSR2DEC:GOTO *MUD    :'v2.1
  487. 13705                        GOSUB *LCSRDEC :GOTO *MUD    :'v2.1
  488. 13710 *MUD:IF LCSC=0  THEN GOTO *IN1C          '////////// line chg.ctrl:'v2.1
  489. 13715      IF LCSC=+1 THEN GOSUB *LMREAD2:LCSR=0 :GOTO *MD2
  490. 13720      IF LCSC=-1 THEN GOSUB *LMREAD2:LCSR=LL:GOTO *MU2
  491. 13725 *INS:GOSUB *LCSRDX:LINS=1-LINS           '////////// Insert
  492. 13730      IF LINS=1 THEN CWDT=1 ELSE CWDT=5
  493. 13735      GOSUB *LCSRDX                    :GOTO *IN1C
  494. 13740 *DEL:GOSUB *LMREAD:LMX$=LEFT$(LMG$,LCSR) '////////// Delete
  495. 13745      IF LMGF$="1" THEN LDEF=2 ELSE LDEF=1
  496. 13750      LMX$=LMX$+MID$(LMG$,LCSR+LDEF+1,LL-LCSR-LDEF)+"  "
  497. 13755      GOSUB *LMREAD:GOSUB *LMXDSP      :GOTO *IN1C
  498. 13760 *BS :GOSUB *LMREAD                       '////////// BackSpace
  499. 13765      IF LCSR=0 THEN GOTO *IN1C
  500. 13770      IF LMGB$="2" THEN GOSUB *LCSR2DEC:LDEF=2:GOTO 13780
  501. 13775                        GOSUB *LCSRDEC :LDEF=1:GOTO 13780
  502. 13780      LMX$=LEFT$(LMG$,LCSR)+RIGHT$(LMG$,LL-LCSR-LDEF)+"  "
  503. 13785      GOSUB *LMREAD:GOSUB *LMXDSP      :GOTO *IN1C
  504. 13790 *CAN :LMX$=SPACE$(LL)                    '////////// Clear
  505. 13795      GOSUB *LMXDSP:LCSR=0:GOSUB *LCSRD
  506. 13800      GOSUB *LMREAD                    :GOTO *IN1C
  507. 13805 *LMREAD:                                 '////////// Disp Char Read 
  508. 13810      LMGFX$=MID$(LMGDX$,LCSR+1,1)
  509. 13815      IF LMGFX$="2" OR LMGF$="2" THEN MID$(LMX$,LCSR+1,1)=" "
  510. 13820 *LMREAD1:LMGD$=""
  511. 13825          FOR II=1 TO KLEN(LMX$)
  512. 13830            LMG=KTYPE(LMX$,II)
  513. 13835            IF LMG=0 THEN LMD$="0" ELSE LMD$="12"
  514. 13840            LMGD$=LMGD$+LMD$
  515. 13845          NEXT II
  516. 13850          IF LEN(LMGD$)<=LL THEN 13860
  517. 13855          LMGD$=LEFT$(LMGD$,LL):LMX$=LEFT$(LMX$,LL)
  518. 13860          IF RIGHT$(LMGD$,1)<>"1" THEN 13870
  519. 13865          MID$(LMGD$,LL,1)="0":MID$(LMX$,LL,1)=" "
  520. 13870 *LMREAD2:LMGF$=MID$(LMGD$,LCSR+1,1)
  521. 13875          IF LCSR=0 THEN LMGB$="0" ELSE LMGB$=MID$(LMGD$,LCSR,1)
  522. 13880          LMG$=LMX$:LMGDX$=LMGD$:L$(LGC)=LMG$
  523. 13885          RETURN
  524. 13890 *LCSRD :LXC=(LX+6*LCSR ):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Disp
  525. 13895 *LCSRDX:LXC=(LX+6*LCSRX):LYC=LYY:GOSUB *LCSRL: 'v2.0 :'v2.1//// Csr Erace
  526. 13900         LCSRX=LCSR:RETURN
  527. 13905 *LCSRL :LINE(LXC,LYC+0)-(LXC+CWDT,LYC+12),XOR,LCSRCL,BF:RETURN
  528. 13910 *LCSRINC :LCSC=0:LCSR=LCSR+1:IF LCSR>=LL THEN LCSR=LL-1:LCSC=+1
  529. 13915           GOSUB *LCSRD:RETURN
  530. 13920 *LCSR2INC:LCSC=0:LCSR=LCSR+2:IF LCSR>=LL THEN LCSR=LL-2:LCSC=+1
  531. 13925           GOSUB *LCSRD:RETURN
  532. 13930 *LCSRDEC :LCSC=0:LCSR=LCSR-1:IF LCSR<0 THEN LCSR=0     :LCSC=-1
  533. 13935           GOSUB *LCSRD:RETURN
  534. 13940 *LCSR2DEC:LCSC=0:LCSR=LCSR-2:IF LCSR<0 THEN LCSR=LCSR+2:LCSC=-1
  535. 13945           GOSUB *LCSRD:RETURN
  536. 13950 *LMXDSP  :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.0   :'v2.1
  537. 13955           LINE(LX,LYY+12)-(LX+(LL*6),LYY+12),XOR,LLINCL,BF   :'v2.0
  538. 13960           SYMBOL(LX,LYY),LMX$,.75!,.75!,LC
  539. 13965           GOSUB *LCSRDX:RETURN
  540. 13970 *LMBDSP  :PUT@A (LX,LYY)-(LX+LL*6+1,LYY+13),LMB#    :'v2.1
  541. 13975           SYMBOL(LX,LYY),LMX$,.75!,.75!,LB:RETURN   :'v2.1
  542. 13980 '-------------------------------------------------------------------
  543. 14000 'マウス,ウインドウ関係サブルーチン集   v1.0 1995.05.14
  544. 14010 '--------------------------------------------------
  545. 14020 '
  546. 14030 'マウスカーソル形状セット   v1.0 1994.02.13
  547. 14040 *MCDSET
  548. 14050  MOUSE 2,MCAND$(MCN),MCDOT$(MCN),MC_X(MCN),MC_Y(MCN)
  549. 14060  RETURN
  550. 14070 *MCREAD
  551. 14080  RESTORE *MCDATA
  552. 14090  FOR II=1 TO 3
  553. 14100    FOR JJ=1 TO 32:MCAND$(II)="":MCDOT$(II)="":NEXT JJ
  554. 14110    READ MC_X(II),MC_Y(II)
  555. 14120    FOR JJ=1 TO 32:READ MCAND:MCAND$(II)=MCAND$(II)+CHR$(MCAND):NEXT JJ
  556. 14130    FOR JJ=1 TO 32:READ MCDOT:MCDOT$(II)=MCDOT$(II)+CHR$(MCDOT):NEXT JJ
  557. 14140  NEXT II
  558. 14150  RETURN
  559. 14160 *MCDATA
  560. 14170 '指 ////////////////////////////////////////
  561. 14171 DATA 0,0
  562. 14172 DATA &H1F,&HFF,&H0F,&HFF,&H07,&HFF,&H83,&HFF' and
  563. 14173 DATA &HC0,&H3F,&HE0,&H07,&HF0,&H01,&HF8,&H00
  564. 14174 DATA &HF0,&H00,&HE0,&H00,&HE0,&H00,&HE0,&H00
  565. 14175 DATA &HE0,&H00,&HF0,&H00,&HF8,&H00,&HFC,&H00
  566. 14176 DATA &H00,&H00,&H60,&H00,&H30,&H00,&H18,&H00' dot
  567. 14177 DATA &H0C,&H00,&H06,&H80,&H03,&H50,&H01,&HAA
  568. 14178 DATA &H05,&HFE,&H04,&HFE,&H06,&HFE,&H07,&HFE
  569. 14179 DATA &H03,&HFF,&H01,&HFF,&H00,&H7F,&H00,&H1F
  570. 14180 'コーヒー///////////////////////////////////
  571. 14181 DATA 7,7
  572. 14182 DATA &HFF,&HFF,&HF2,&H4F,&HE4,&H9F,&HE4,&H9F' and
  573. 14183 DATA &HE6,&H1F,&HF2,&H4F,&HC0,&H07,&HC0,&H01
  574. 14184 DATA &HC0,&H06,&HC0,&H06,&HC0,&H05,&HC0,&H03
  575. 14185 DATA &HE0,&H0F,&H80,&H01,&HC0,&H03,&HE0,&H07
  576. 14186 DATA &H00,&H00,&H04,&H90,&H09,&H20,&H09,&H20' dot
  577. 14187 DATA &H08,&HA0,&H04,&H90,&H00,&H00,&H1F,&HF0
  578. 14188 DATA &H15,&HF0,&H13,&H30,&H15,&H30,&H1F,&HF0
  579. 14189 DATA &H0F,&HE0,&H00,&H00,&H1F,&HF8,&H00,&H00
  580. 14190 '待った //////////////////////////////////////
  581. 14191 DATA 7,7
  582. 14192 DATA &HF0,&H1F,&HC0,&H07,&H80,&H03,&H80,&H03' and
  583. 14193 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H00,&H01
  584. 14194 DATA &H00,&H01,&H00,&H01,&H00,&H01,&H80,&H03
  585. 14195 DATA &H80,&H03,&HC0,&H07,&HF0,&H1F,&HFF,&HFF
  586. 14196 DATA &H00,&H00,&H00,&H00,&H07,&HC0,&H1F,&H80' dot
  587. 14197 DATA &H1F,&H00,&H3E,&H08,&H3C,&H18,&H38,&H38
  588. 14198 DATA &H30,&H78,&H20,&HF8,&H01,&HF0,&H03,&HF0
  589. 14199 DATA &H07,&HC0,&H00,&H00,&H00,&H00,&H00,&H00
  590. 14200 '
  591. 14210 *MCDRAG 'ドラッグ -----------------------------------------------
  592. 14220  MOUSE 1,X_M,Y_M,1                            :'現在位置にカーソルを設定
  593. 14225  MD_XB1=W_X1(G):MD_YB1=W_Y1(G) :MD_XC1=W_X1(G):MD_YC1=W_Y1(G) :'旧ウインドウ座標保持
  594. 14230  MD_XB2=W_X2(G):MD_YB2=W_Y2(G) :MD_XC2=W_X2(G):MD_YC2=W_Y2(G) :'旧ウインドウ座標保持
  595. 14235  GET@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SW#
  596. 14238  X1=X_M-W_X1(G)+W_XA(G):X2=X_M+W_XB(G)-W_X2(G):'最大移動域の設定
  597. 14239  Y1=Y_M-W_Y1(G)+W_YA(G):Y2=Y_M+W_YB(G)-W_Y2(G):'
  598. 14240  MOUSE 4,X1,Y1,X2,Y2                          :'最大移動域の設定
  599. 14245  GOSUB *MD_WLINED
  600. 14250  IF MOUSE(2,0)=-1 THEN 14245                  :'枠移動
  601. 14255   LINE(MD_XC1,MD_YC1)-(MD_XC2,MD_YC2),XOR,4,B,&HCCCC     :'枠線消去
  602. 14260  PUT@A(MD_XB1,MD_YB1)-(MD_XB2,MD_YB2),MD_SB#      :'旧ウインドウ背景表示
  603. 14265  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#  :'新ウインドウ背景保持
  604. 14270  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SW#  :'新ウインドウ描画
  605. 14275  MOUSE 4,0,0,639,479:WAIT SWAIT\4+1:RETURN
  606. 14280 *MD_WLINED
  607. 14285  MD_X_M=MOUSE(9) :MD_Y_M=MOUSE(10)                :'移動量取得
  608. 14290  W_X1(G)=W_X1(G)+(MD_X_M):W_Y1(G)=W_Y1(G)+(MD_Y_M):'新座標計算
  609. 14295  W_X2(G)=W_X2(G)+(MD_X_M):W_Y2(G)=W_Y2(G)+(MD_Y_M)
  610. 14300  LINE(MD_XC1 ,MD_YC1 )-(MD_XC2 ,MD_YC2 ),XOR,4,B,&HCCCC  :'枠線移動
  611. 14305  LINE(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),XOR,4,B,&HCCCC
  612. 14310  MD_XC1=W_X1(G):MD_YC1=W_Y1(G)
  613. 14315  MD_XC2=W_X2(G):MD_YC2=W_Y2(G)
  614. 14320  RETURN
  615. 14400 '------------------------------------------------------------------
  616. 14405 *ボタン座標読み取り
  617. 14410  RESTORE *ボタン座標:READ SWGN
  618. 14415  FOR G=1 TO SWGN
  619. 14420    READ SWN(G), W_X1(G),W_X2(G),W_Y1(G),W_Y2(G), W_XA(G),W_XB(G),W_YA(G),W_YB(G)
  620. 14425    FOR B=1 TO SWN(G):READ B_X1(G,B),B_X2(G,B),B_Y1(G,B),B_Y2(G,B):NEXT B
  621. 14430  NEXT G
  622. 14435  RETURN
  623. 14500 '-----------------------------------------------------------------
  624. 14505 *BTN_ONOFF:'ボタンON_OFF表示
  625. 14510  IF BST(G,B)=1 THEN BSC=15:BSB=1:GOTO 14520
  626. 14515                     BSC=1:BSB=15
  627. 14520   X1=W_X1(G)+B_X1(G,B):X2=W_X1(G)+B_X2(G,B)
  628. 14521   Y1=W_Y1(G)+B_Y1(G,B):Y2=W_Y1(G)+B_Y2(G,B)
  629. 14522   CONNECT(X1,Y2)-(X2,Y2)-(X2,Y1),%BSC,PSET
  630. 14523   CONNECT(X1,Y2)-(X1,Y1)-(X2,Y1),%BSB,PSET
  631. 14530  IF BSNDOFF=1 THEN 14540 :'                 WAIT SWAIT\10+1:GOTO 14540
  632. 14535  IF BST(G,B)=1 THEN SMSGPLAY 0:WAIT SWAIT\5+1
  633. 14540  BSNDOFF=0:RETURN
  634. 14600 '-----------------------------------------------------------------
  635. 14610 *MCSELECT:'マウスボタン選択
  636. 14620  SWERC=0:SWNO=0                         :'リセット
  637. 14630 *クリック待ち
  638. 14640  IF MOUSE(2,0)=-1 THEN 14680            :'左クリック入力待ち
  639. 14650  IF MOUSE(2,1)=-1 THEN SWNO=-1:RETURN   :'右クリックで終了
  640. 14660  IF MCKEY=1 THEN GOTO 14830             :'MCKEY=1: マウススキャン中断、キー入力受付
  641. 14670  GOTO *クリック待ち
  642. 14680  X_M=MOUSE(4,0):Y_M=MOUSE(5,0)          :'座標取得
  643. 14690  FOR IMS=1 TO SWN(G)                    :'ボタン座標判定
  644. 14700    IF (X_M>W_X1(G)+B_X1(G,IMS)) AND (X_M<W_X1(G)+B_X2(G,IMS)) ELSE 14730
  645. 14710    IF (Y_M>W_Y1(G)+B_Y1(G,IMS)) AND (Y_M<W_Y1(G)+B_Y2(G,IMS)) ELSE 14730
  646. 14720    SWNO=IMS:IMS=SWN(G)+1
  647. 14730  NEXT IMS
  648. 14735  WAIT SWAIT\8+1 'FOR II=1 TO 500:NEXT II
  649. 14740  IF (SWPASS=1) OR (SWNO<>0) THEN 14830
  650. 14750  IF SWNO=0 THEN
  651. 14760     GOSUB *MCMIS:SWERC=SWERC+1           '誤指定警告表示
  652. 14770     IF SWERC>5 THEN
  653. 14780       MCN=3:GOSUB *MCDSET:MESN=12:GOSUB *SNDMSG            '誤指定警告音声案内
  654. 14790       MCN=1:GOSUB *MCDSET
  655. 14800     ENDIF
  656. 14810  ENDIF
  657. 14820  GOTO *クリック待ち
  658. 14830  SWPASS=0:SW1T=0:MCKEY=0
  659. 14840  RETURN
  660. 14850 *MCMIS
  661. 14860  MCN=3:GOSUB *MCDSET:WAIT SWAIT\3+1:MCN=1:GOSUB *MCDSET
  662. 14870  RETURN
  663. 14880 '
  664. 14890 '
  665. 15000 '
  666. 15010 '  SAVE"TCLOCK.sub"             :'   組み込み型 アナログ時計 V1.1
  667. 15020 '                                       1991.05 T.KOMURA 
  668. 15030 '--------------------------------------------------------------------
  669. 15040 '
  670. 15220 *時計表示:'///////////////////////////////////
  671. 15230  XCLK0=579:YCLK0=11:CLKR=9:PI=3.1415!
  672. 15240  TIMEX$=TIME$:IF DATE$<>DATX$ THEN GOSUB *本日の日付
  673. 15250  TSC$=MID$(TIMEX$,7,2):SCR=2*PI*(VAL(TSC$)/60)
  674. 15260  TMN$=MID$(TIMEX$,4,2):MNR=2*PI*(VAL(TMN$)/60)
  675. 15270  THR$=LEFT$(TIMEX$,2) :HRR=2*PI*((VAL(THR$)*60+VAL(TMN$))/720)
  676. 15280  GOSUB *短針表示
  677. 15290  GOSUB *長針表示
  678. 15300  GOSUB *秒針表示
  679. 15305  IF DCLOCKF=1 THEN GOSUB *DCLOCKD
  680. 15310  CLOCKINIT=1:DATX$=DATE$
  681. 15320  RETURN
  682. 15330 '
  683. 15340 *短針表示
  684. 15350  XHD1=XCLK0+(CLKR*.6!)*SIN(HRR):XHD2=XCLK0
  685. 15360  YHD1=YCLK0-(CLKR*.6!)*COS(HRR):YHD2=YCLK0
  686. 15370  IF CLOCKINIT=0 THEN 15400
  687. 15380  IF SCR<>0 THEN 15420
  688. 15390  LINE(XHD1X,YHD1X)-(XHD2X,YHD2X),XOR,6
  689. 15400  LINE(XHD1 ,YHD1 )-(XHD2 ,YHD2 ),XOR,6
  690. 15410  XHD1X=XHD1:YHD1X=YHD1:XHD2X=XHD2:YHD2X=YHD2
  691. 15420  RETURN
  692. 15430 *長針表示
  693. 15440  XMD1=XCLK0+(CLKR*.8!)*SIN(MNR):XMD2=XCLK0
  694. 15450  YMD1=YCLK0-(CLKR*.8!)*COS(MNR):YMD2=YCLK0
  695. 15460  IF CLOCKINIT=0 THEN 15490
  696. 15470  IF SCR<>0 THEN 15510
  697. 15480  LINE(XMD1X,YMD1X)-(XMD2X,YMD2X),XOR,7
  698. 15490  LINE(XMD1 ,YMD1 )-(XMD2 ,YMD2 ),XOR,7
  699. 15500  XMD1X=XMD1:YMD1X=YMD1:XMD2X=XMD2:YMD2X=YMD2
  700. 15510  RETURN
  701. 15520 *秒針表示
  702. 15530  XSD1=XCLK0+(CLKR)*SIN(SCR):XSD2=XCLK0:'+(CLKR-10)*SIN(SCR)
  703. 15540  YSD1=YCLK0-(CLKR)*COS(SCR):YSD2=YCLK0:'-(CLKR-10)*COS(SCR)
  704. 15550  IF CLOCKINIT=0 THEN 15570
  705. 15560  LINE(XSD1X,YSD1X)-(XSD2X,YSD2X),XOR,4
  706. 15570  LINE(XSD1 ,YSD1 )-(XSD2 ,YSD2 ),XOR,4
  707. 15580  XSD1X=XSD1:YSD1X=YSD1:XSD2X=XSD2:YSD2X=YSD2
  708. 15590  RETURN
  709. 15600 '////////////////////////////////////////////////////////////////////
  710. 15605 ' DIGITAL CLOCK v1.0 1995.05.24 T.Komura
  711. 15610 *DCLOCKREAD:'プログラム先頭で実施
  712. 15615  RESTORE *DCLOCKDATA
  713. 15620  FOR DGII=0 TO 9:FOR DGN=1 TO 7:READ DGP(DGII,DGN):NEXT:NEXT 
  714. 15625  FOR DGII=1 TO 9:READ DGX(DGII),DGY(DGII):NEXT
  715. 15630  FOR DGII=1 TO 4:READ DGO(DGII):NEXT
  716. 15635  RETURN
  717. 15640 *DGCLOCK:'デジタル時計 -------------------------------
  718. 15645  G=6:SWNOX=SWNO:DGINIT=0:DGFC=15:DGBC=1
  719. 15650  GOSUB *DCLOCKLOAD:GOSUB *DCLOCKD:DCLOCKF=1
  720. 15655 *DGMCSEL
  721. 15660  GOSUB *MCSELECT:'マウスボタン選択
  722. 15665  IF SWNO=0 THEN *DGMCSEL
  723. 15670  IF SWNO<0 THEN SWNO=1:'右クリックで終了
  724. 15675 '             end  drag
  725. 15680  ON SWNO GOTO *DGS01,*DGS02 
  726. 15685 *DGS02:'drag
  727. 15690  DCLOCKF=0
  728. 15692  GOSUB *MCDRAG
  729. 15694  DCLOCKF=1
  730. 15695  GOTO *DGMCSEL
  731. 15700 *DGS01:'end
  732. 15705  B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  733. 15710  DCLOCKF=0
  734. 15715  GOSUB *DCLOCKCLR
  735. 15720  SWNO=SWNOX
  736. 15725  RETURN
  737. 15730 *DCLOCKLOAD
  738. 15735  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  739. 15740  MOUSE 1,,,0
  740. 15745  LOAD@ TIFDRV$+"\dclock.tif",(W_X1(G),W_Y1(G)):MOUSE 1,,,1
  741. 15750  MOUSE 1,,,1:RETURN
  742. 15760 *DCLOCKCLR
  743. 15765  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  744. 15770  RETURN
  745. 15775 '
  746. 15780 *DCLOCKD
  747. 15785  IF DGINIT=1 THEN 15795
  748. 15790  FOR DGII=1 TO 4:DGM(DGII)=10:NEXT DGII:DGINIT=1
  749. 15795  DG(1)=VAL(MID$(TIME$,1,1)):DG(2)=VAL(MID$(TIME$,2,1))
  750. 15800  DG(3)=VAL(MID$(TIME$,4,1)):DG(4)=VAL(MID$(TIME$,5,1))
  751. 15805  DGPT=1-DGPT
  752. 15810  FOR DGII=1 TO 4
  753. 15815    IF DG(DGII)=DGM(DGII) THEN 15840
  754. 15820    FOR DGJJ=1 TO 7
  755. 15825      IF DGP(DG(DGII),DGJJ)=1 THEN DGC=DGFC ELSE DGC=DGBC
  756. 15826      IF DGII=1 AND DG(1)=0 THEN DGC=DGBC
  757. 15830      PAINT(W_X1(G)+DGX(DGJJ)+DGO(DGII),W_Y1(G)+DGY(DGJJ)),%DGC,0
  758. 15835    NEXT DGJJ
  759. 15840  NEXT DGII
  760. 15841      IF DGPT=1 THEN DGC=10 ELSE DGC=DGBC
  761. 15842      PAINT(W_X1(G)+DGX(8),W_Y1(G)+DGY(8)),%DGC,0
  762. 15843      PAINT(W_X1(G)+DGX(9),W_Y1(G)+DGY(9)),%DGC,0
  763. 15845  FOR DGII=1 TO 4:DGM(DGII)=DG(DGII):NEXT DGII'
  764. 15850  RETURN
  765. 15855 '
  766. 18000 '------------------------------------------------------------------
  767. 18005 *HKHELP:'             Copyrigit(C) T.Komura / HK2               /
  768. 18010 '   Version 1.0  1994.07.30                 / helpプログラム    /
  769. 18011 '   Version 2.0  1995.07.30 HK2ドラッグ対応
  770. 18015 'メインルーチン:'・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
  771. 18016 G=5:SWNOX=SWNO:DOCDC=6:DOCBC=8
  772. 18020 GOSUB *DOCTIFDSP:GOSUB *DOCFREAD
  773. 18026 MCN=1:GOSUB *MCDSET
  774. 18030 GOSUB *DOC初期表示
  775. 18035 *DC_MSINSEL
  776. 18040 SWPASS=1:GOSUB *MCSELECT:'マウスボタン選択
  777. 18042 IF SWNO=0 THEN GOSUB *DC_他エリア判定
  778. 18043 IF SWNO<0 THEN SWNO=5:'右クリックで終了
  779. 18045 IF SWNO>7 OR SWNO=0 THEN *DC_MSINSEL
  780. 18050 IF SWNO=5 THEN GOTO *SDC_05
  781. 18055 IF SWNO=6 THEN GOTO *SDC_06
  782. 18060 IF SWNO=7 THEN GOTO *SDC_07
  783. 18065                GOTO *DOCCTRL
  784. 18070 *DOCCTRL
  785. 18075  B=SWNO:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
  786. 18080   DCCD=SWNO:GOSUB *DOC表示制御
  787. 18085  B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  788. 18090  GOTO *DC_MSINSEL
  789. 18095 *SDC_06:       GOSUB *MCDRAG     :GOTO *DC_MSINSEL
  790. 18100 *SDC_07:DCCD=5:GOSUB *DOC表示制御:GOTO *DC_MSINSEL
  791. 18105 *SDC_05:'終了
  792. 18110  B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  793. 18115  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  794. 18120  DOCCS=0:SWNO=SWNOX
  795. 18122  RETURN:'///////////////////////////////////////////////////
  796. 18125 '
  797. 18130 'sub routine---------------------------------------------
  798. 18135 *DOCTIFDSP
  799. 18137  MOUSE 1,,,0
  800. 18140  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  801. 18145  LOAD@ TIFDRV$+"\hk2help.tif",(W_X1(G),W_Y1(G))
  802. 18165  MOUSE 1,,,1:GOSUB *DOC名称表示
  803. 18170  RETURN
  804. 18175 *DOCFREAD:'helpファイル読み込み
  805. 18177  MCN=2:GOSUB *MCDSET
  806. 18180  DOCN=0:OPEN "I",#1,PRGDRV$+"\HELPF"+DOCF$
  807. 18185  IF EOF(1)=-1 THEN 18200
  808. 18190  DOCN=DOCN+1:LINE INPUT #1,DOC$(DOCN)
  809. 18195  GOTO 18185
  810. 18200  CLOSE #1:RETURN
  811. 18205 *DOC指定行表示
  812. 18210  GOSUB *DOCカーソル表示
  813. 18220  FOR DN=SDN TO EDN
  814. 18225    XDC=W_X1(G)+8:YDC=W_Y1(G)+27+DCL*12
  815. 18230    SYMBOL(XDC,YDC),DOC$(DN),.75!,.75!,7
  816. 18235    DCL=DCL+1
  817. 18240  NEXT DN:RETURN
  818. 18245 *DOC初期表示
  819. 18250  SDN=1:EDN=24:DCL=0:DSP=1:GOSUB *DOC指定行表示
  820. 18255  RETURN
  821. 18260 *DOC表示制御:'///////////////////////////////////////
  822. 18265  ON DCCD GOTO *DCC3,*DCC1,*DCC2,*DCC4,*DCC5
  823. 18270 *DCC1:'------ 前行
  824. 18275  DSP=DSP-1 :IF DSP<1 THEN DSP=1          :RETURN
  825. 18280  SDN=DSP   :GOSUB *DOC下シフト
  826. 18285  EDN=SDN   :DCL=0 :GOSUB *DOC指定行表示  :RETURN
  827. 18290 *DCC2:'------ 次行
  828. 18295  DSP=DSP+1 :IF DSP+23>DOCN THEN DSP=DSP-1:RETURN
  829. 18300  SDN=DSP+23: GOSUB *DOC上シフト
  830. 18305  EDN=SDN   :DCL=23:GOSUB *DOC指定行表示  :RETURN
  831. 18310 *DCC3:'------ 前頁
  832. 18315  DSP=DSP-24:IF DSP<1 THEN DSP=1
  833. 18320  GOTO *DCC51
  834. 18325 *DCC4:'------ 次頁
  835. 18330  DSP=DSP+24:IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
  836. 18335  GOTO *DCC51
  837. 18340 *DCC5:'------ カーソル指定
  838. 18345  DSP=((INT(DOCN*DOCR))\24)*24+1
  839. 18350  IF DSP>DOCN THEN DSP=(DOCN\24)*24+1
  840. 18355 *DCC51
  841. 18360  SDN=DSP   :EDN=SDN+23
  842. 18365  IF EDN>DOCN THEN EDN=EDN-1:GOTO 18365
  843. 18370  LINE (W_X1(G)+6,W_Y1(G)+27)-(W_X1(G)+492,W_Y1(G)+27+12*24),PSET,%DOCBC,BF
  844. 18375  DCL=0:GOSUB *DOC指定行表示              :RETURN
  845. 18380 '------------------------------------------------------
  846. 18385 *DOC上シフト
  847. 18386  X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
  848. 18390  GET@A(X1,Y1+12*1 )-(X2,Y2+12*24),HLPC#
  849. 18395  LINE (X1,Y1+12*23)-(X2,Y2+12*24),PSET,%DOCBC,BF
  850. 18400  PUT@A(X1,Y1      )-(X2,Y2+12*23),HLPC#
  851. 18405  RETURN
  852. 18410 *DOC下シフト
  853. 18411  X1=W_X1(G)+6:Y1=W_Y1(G)+27 :X2=W_X1(G)+492:Y2=Y1
  854. 18415  GET@A(X1,Y1     )-(X2,Y2+12*23),HLPC#
  855. 18420  LINE (X1,Y1     )-(X2,Y2+12*1 ),PSET,%DOCBC,BF
  856. 18425  PUT@A(X1,Y1+12*1)-(X2,Y2+12*24),HLPC#
  857. 18430  RETURN
  858. 18435 *DOCカーソル表示
  859. 18440  XDC1 =W_X1(G)+500:XDC2=W_X1(G)+511
  860. 18445  YDC1 =W_Y1(G)+53+INT(233*((DSP-1)  /DOCN))
  861. 18450  YDC2 =W_Y1(G)+53+INT(233*((DSP+23) /DOCN))
  862. 18451  A=W_Y1(G)+B_Y1(G,3):IF YDC2>=A  THEN YDC2=A-1
  863. 18455  YDC1X=W_Y1(G)+53+INT(233*((DSPX-1) /DOCN))
  864. 18460  YDC2X=W_Y1(G)+53+INT(233*((DSPX+23)/DOCN))
  865. 18461  A=W_Y1(G)+B_Y1(G,3):IF YDC2X>=A THEN YDC2X=A-1
  866. 18465  IF DOCCS=1 THEN 18470 ELSE DOCCS=1:GOTO 18475
  867. 18470  LINE(XDC1,YDC1X)-(XDC2,YDC2X),XOR,5,BF
  868. 18475  LINE(XDC1,YDC1 )-(XDC2,YDC2 ),XOR,5,BF
  869. 18480  DSPX=DSP :RETURN
  870. 18485 *DOC名称表示
  871. 18490  XDC=W_X1(G)+427:YDC=W_Y1(G)+7
  872. 18495  DOCD$=RIGHT$(DOCF$,LEN(DOCF$)-1)
  873. 18500  SYMBOL(XDC,YDC),DOCD$,.75!,.75!,%DOCDC
  874. 18505  RETURN
  875. 18810 *DC_他エリア判定
  876. 18830  IF (X_M>(W_X1(G)+499) AND X_M<(W_X1(G)+512)) ELSE 18845
  877. 18835  IF (Y_M>(W_Y1(G)+ 53) AND Y_M<(W_Y1(G)+288)) ELSE 18845
  878. 18840  DOCR=(Y_M-(W_Y1(G)+53))/235:SWNO=7
  879. 18845  RETURN
  880. 18850 '
  881. 19000 '
  882. 19010 '//////////////////////////////////////////////////////////////
  883. 19020 *ERROR:'      エラー処理サブルーチン V1.10   1990.11.08 T.Komura
  884. 19030 '             
  885. 19040 '
  886. 19050 IF ERR=53 THEN *IOERR
  887. 19060 IF ERR=63 THEN *FILNOF
  888. 19070 IF ERR=67 THEN *DSKFUL
  889. 19080 IF ERR=71 THEN *DSKUNF 
  890. 19090 IF ERR=72 THEN *DSKOFF
  891. 19100 IF ERR=73 THEN *DSKWP
  892. 19110 ERMES$="エラー行:"+STR$(ERL)+" エラー番号:"+STR$(ERR)+" 発生"
  893. 19120 GOSUB *ERMSG
  894. 19130 STOP
  895. 19140 '////////// エラー処理
  896. 19150 *IOERR
  897. 19160 ERMES$="プリンターが準備されていません。 プリンターをセット後、"
  898. 19170 GOSUB *ERMSG:RESUME
  899. 19180 *DSKFUL
  900. 19190 ERMES$="ディスクが満杯です。 交換後、"
  901. 19200 GOSUB *ERMSG:RESUME
  902. 19210 *DSKUNF
  903. 19220 ERMES$="このディスクは使用出来ません。処理を中断します。 "
  904. 19230 GOSUB *ERMSG:RESUME
  905. 19240 *DSKOFF
  906. 19250 ERMES$="ディスク装置が準備されていません。ディスクをセット後、"
  907. 19260 GOSUB *ERMSG:RESUME
  908. 19270 *DSKWP
  909. 19280 ERMES$="ディスクが書き込み禁止になっています。解除後、"
  910. 19290 GOSUB *ERMSG:RESUME
  911. 19300 *FILNOF
  912. 19310 ERMES$="ファイルが見つかりません。ディスクを交換後、"
  913. 19320 GOSUB *ERMSG:RESUME
  914. 19330 '
  915. 19340 *ERMSG:'////////// エラーメッセージ
  916. 19355 LINE(0,465)-(639,479),PSET,0,BF
  917. 19360 SYMBOL(0,465),ERMES$+"[実行]キーを押してね!",.75!,.75!,2
  918. 19370 COLOR 7,0:MESN=19:GOSUB *SNDMSG
  919. 19380 ERRA$=INKEY$:IF ERRA$="" THEN 19380
  920. 19390 IF ERRA$<>CHR$(&H0D) THEN 19380
  921. 19400 LINE(0,465)-(639,479),PSET,0,BF
  922. 19410 SYMBOL(0,465),"エラー処理を終わります。",.75!,.75!,6
  923. 19420 RETURN
  924. 19430 '
  925. 19440 '
  926. 19450 '
  927. 20000 '------------------------------------------------------------------
  928. 20010 ' CUSTOM SUB ROUTINE FOR "HKSRCH.BAS"
  929. 20020 '------------------------------------------------------------------
  930. 20100 *表紙表示
  931. 20120  DEF FONT "システム   12ドット"
  932. 20130  LOAD@ TIFDRV$+"\HK2SRC.TIF",(0,0)
  933. 20140  MESN=1:GOSUB *MESDSP
  934. 20141  G=1:B=3:BST(G,B)=1:BSNDOFF=1:GOSUB *BTN_ONOFF
  935. 20145 ' INTERVAL ON
  936. 20160  RETURN
  937. 20190 '
  938. 20300 *検索年月表示
  939. 20310  G=2:SRYR$=RIGHT$(STR$(SRYR),4)
  940. 20315  NBN=4:NBA$=SRYR$:GOSUB *数字漢字変換:KYR$=NBK$
  941. 20320  SRMN$=RIGHT$(STR$(100+SRMN),2)
  942. 20325  NBN=2:NBA$=SRMN$:GOSUB *数字漢字変換:KMN$=NBK$
  943. 20340  DEF FONT "システム   16ドット"
  944. 20350  X=W_X1(G)+88:Y=W_Y1(G)+31+(SRCIN-1)*23
  945. 20355  LINE(X,Y)-(X+16*4,Y+15),PSET,%8,BF
  946. 20356  SYMBOL(X,Y),KYR$,1,1,7
  947. 20360  X=W_X1(G)+224:Y=W_Y1(G)+31+(SRCIN-1)*23
  948. 20365  LINE(X,Y)-(X+16*2,Y+15),PSET,%8,BF
  949. 20366  SYMBOL(X,Y),KMN$,1,1,7
  950. 20370  DEF FONT "システム   12ドット"
  951. 20380  RETURN
  952. 20390 '
  953. 20695 '
  954. 20700 *検索条件枠表示
  955. 20710  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  956. 20715  G=2:MOUSE 1,,,0
  957. 20716  LOAD@ TIFDRV$+"\HK2SRCS.TIF",(W_X1(G),W_Y1(G))
  958. 20717  MOUSE 1,,,1
  959. 20720  SYMBOL(W_X1(G)+87,W_Y1(G)+9),SMODE$(SMODE),.75!,.75!,0
  960. 20722  FOR II=1 TO 15
  961. 20723    X=W_X1(G)+B_X1(G,II+CTRLB2+1)+4
  962. 20724    Y=W_Y1(G)+B_Y1(G,II+CTRLB2+1)+2
  963. 20725    IF II>3 AND II<8 THEN C=1 ELSE C=0
  964. 20726    SYMBOL(X,Y),CFI$(II),.75!,.75!,C
  965. 20728  NEXT II
  966. 20730  FOR II=1 TO 5
  967. 20732    IF SMOPT(SMODE,II)=0 THEN C=4 ELSE C=15
  968. 20736    SYMBOL(W_X1(G)+OPTX(II),W_Y1(G)+OPTY(II)),"●",.75!,.75!,%C
  969. 20738  NEXT II
  970. 20740  GOSUB *辞書入力スイッチ
  971. 20748  RETURN
  972. 20750 *検索条件枠消去
  973. 20770  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  974. 20785  RETURN
  975. 20790 '
  976. 20800 *検索条件読み込み
  977. 20810  GOSUB *SRCSGET
  978. 20820  SRYR=SR1YR:SRMN=SR1MN:SRCIN=1:GOSUB *検索年月表示
  979. 20825  YRS=SRYR:MNS=SRMN
  980. 20830  SRYR=SR2YR:SRMN=SR2MN:SRCIN=2:GOSUB *検索年月表示
  981. 20835  YRE=SRYR:MNE=SRMN
  982. 20840  X=W_X1(G)+86 :Y=W_Y1(G)+84 :LINE(X,Y)-(X+189 ,Y+12),PSET,%8,BF
  983. 20845  SYMBOL(X,Y),SX$(5),.75!,.75!,7
  984. 20850  X=W_X1(G)+88 :Y=W_Y1(G)+107:LINE(X,Y)-(X+6*10,Y+12),PSET,%8,BF
  985. 20855  SYMBOL(X+12,Y),SX$(6),.75!,.75!,7
  986. 20860  X=W_X1(G)+217:Y=W_Y1(G)+107:LINE(X,Y)-(X+6*10,Y+12),PSET,%8,BF
  987. 20865  SYMBOL(X+12,Y),SX$(7),.75!,.75!,7
  988. 20870  SX8=0:SX8X=SX8:SX$(8)=SPACE$(2):SITM=0
  989. 20880  'G=2:B=SX8B:BST(G,B)=1:GOSUB *btn_onoff
  990. 20890  RETURN
  991. 20895 '
  992. 20900 *検索条件保存
  993. 20910  GOSUB *SRCSPUT
  994. 20920  RETURN
  995. 20930 '
  996. 21000 *検索条件設定
  997. 21005  G=2:ITMMIN=16:'項目ボタンの最小値
  998. 21010  GOSUB *検索条件枠表示
  999. 21020  GOSUB *検索条件読み込み
  1000. 21030  MESN=3:GOSUB *MESDSP:MESN=20:GOSUB *SNDMSG
  1001. 21040  G=2:GOSUB *MCSELECT
  1002. 21042  IF SWNO<0 THEN SWNO=2
  1003. 21045  IF SWNO=15 THEN GOSUB *MCDRAG:GOTO 21040
  1004. 21050  IF SWNO>=ITMMIN THEN *SRCS項目選択
  1005. 21055  IF SWNO>10 THEN 21065
  1006. 21060  ON SWNO    GOTO *SI01,*SI02,*SI03,*SI04,*SI05,*SI06,*SI07,*SI08,*SI09,*SI10
  1007. 21065  ON SWNO-10 GOTO *SI11,*SI12,*SI13,*SI14
  1008. 21090 '//////////////////////////////////////////////////////////////
  1009. 21100  *SI03:YDEF=+1:MDEF= 0:GOTO 21140
  1010. 21110  *SI04:YDEF=-1:MDEF= 0:GOTO 21140
  1011. 21120  *SI05:YDEF= 0:MDEF=+1:GOTO 21140
  1012. 21130  *SI06:YDEF= 0:MDEF=-1:GOTO 21140
  1013. 21140   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1014. 21150   SRCIN=1:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21185
  1015. 21160   YR=SR1YR:MN=SR1MN:GOSUB *年月日変更:SR1YR=YR:SR1MN=MN
  1016. 21170   SX$(1)=YR$:SX$(2)=MN$:YRS=YR:MNS=MN
  1017. 21180   SRYR=SR1YR:SRMN=SR1MN:GOSUB *検索年月表示
  1018. 21185   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1019. 21190   GOTO 21040
  1020. 21200  *SI07:YDEF=+1:MDEF= 0:GOTO 21240
  1021. 21210  *SI08:YDEF=-1:MDEF= 0:GOTO 21240
  1022. 21220  *SI09:YDEF= 0:MDEF=+1:GOTO 21240
  1023. 21230  *SI10:YDEF= 0:MDEF=-1:GOTO 21240
  1024. 21240   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1025. 21250   SRCIN=2:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21285
  1026. 21260   YR=SR2YR:MN=SR2MN:GOSUB *年月日変更:SR2YR=YR:SR2MN=MN
  1027. 21270   SX$(3)=YR$:SX$(4)=MN$:YRE=YR:MNE=MN
  1028. 21280   SRYR=SR2YR:SRMN=SR2MN:GOSUB *検索年月表示
  1029. 21285   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1030. 21290   GOTO 21040
  1031. 21300  *SI11:'キーワード入力
  1032. 21310   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1033. 21320   SRCIN=3:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21385
  1034. 21322   IF DICSF=0 THEN 21330
  1035. 21324   IF SITM<2 OR SITM>16 THEN 21330
  1036. 21326   SWNOY=SWNO:GOSUB *辞書入力:SWNO=SWNOY
  1037. 21328   IF ENDF=1 THEN 21330 ELSE 21360
  1038. 21330   LX=W_X1(G)+86:LY=W_Y1(G)+84:LC=4:CBC=8::LL=32:LG=1:LP=0
  1039. 21340   L$(1)=SX$(5):LINS=1:GOSUB *LKEYIN
  1040. 21350   SX$(5)=L$(1)
  1041. 21360   SYMBOL(LX,LY),SX$(5),.75!,.75!,7
  1042. 21385   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1043. 21390   GOTO 21040
  1044. 21400  *SI12:'金額下限
  1045. 21410   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1046. 21420   SRCIN=4:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21485
  1047. 21430   LX=W_X1(G)+100:LY=W_Y1(G)+107:LC=4:CBC=8:LL=8:LG=1:LP=0
  1048. 21440   L$(1)=SX$(6):LINS=0:GOSUB *LKEYIN
  1049. 21450   YNL#=VAL(L$(1)):SX$(6)=RIGHT$(SPACE$(8)+STR$(YNL#),8)
  1050. 21460   LINE(LX,LY)-(LX+6*8,LY+11),PSET,%8,BF
  1051. 21470   SYMBOL(LX,LY),SX$(6),.75!,.75!,7
  1052. 21485   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1053. 21490   GOTO 21040
  1054. 21500  *SI13:'金額上限
  1055. 21510   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1056. 21520   SRCIN=4:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21585
  1057. 21530   LX=W_X1(G)+229:LY=W_Y1(G)+107:LC=4:CBC=8:LL=8:LG=1:LP=0
  1058. 21540   L$(1)=SX$(7):LINS=0:GOSUB *LKEYIN
  1059. 21550   YNH#=VAL(L$(1)):SX$(7)=RIGHT$(SPACE$(8)+STR$(YNH#),8)
  1060. 21560   LINE(LX,LY)-(LX+6*8,LY+11),PSET,%8,BF
  1061. 21570   SYMBOL(LX,LY),SX$(7),.75!,.75!,7
  1062. 21585   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1063. 21590   GOTO 21040
  1064. 21600  *SRCS項目選択
  1065. 21605   SRCIN=5:IF SMOPT(SMODE,SRCIN)=0 THEN GOSUB *SELERR:GOTO 21690
  1066. 21610   SX8=SWNO:IF SX8X=0 THEN 21620
  1067. 21615   G=2:B=SX8X:BST(G,B)=0:GOSUB *BTN_ONOFF
  1068. 21620   G=2:B=SX8 :BST(G,B)=1:GOSUB *BTN_ONOFF
  1069. 21630   SX8X=SX8
  1070. 21640   SX$(8)=RIGHT$(STR$(SX8-(ITMMIN-1)),2):SITM=VAL(SX$(8))
  1071. 21690   GOTO 21040     :'出来事=1・給与=2・・・・
  1072. 21700  *SI14:'辞書使用スイッチ -----------------------
  1073. 21710   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1074. 21720   IF DICSF=0 THEN MESN=21 ELSE MESN=22
  1075. 21730   GOSUB *MESDSP
  1076. 21740   DICSF=1-DICSF
  1077. 21750   IF DICSF=1 AND DICEXF=0 THEN GOSUB *DICREAD
  1078. 21760   GOSUB *辞書入力スイッチ'
  1079. 21770   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1080. 21780   GOTO 21030
  1081. 21800  *SELERR
  1082. 21810   MESN=6:GOSUB *MESDSP:MESN=13:GOSUB *SNDMSG
  1083. 21820   FOR II=1 TO 5000:NEXT II
  1084. 21825   MESN=3:GOSUB *MESDSP
  1085. 21830   RETURN
  1086. 21840  *SI01'
  1087. 21845   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1088. 21850   YRS$=RIGHT$(STR$(10000+YRS),4)
  1089. 21851   MNS$=RIGHT$(STR$(100+MNS),2):IYM$=YRS$+MNS$:GOSUB *HKISRC
  1090. 21852     IF FIDX=0 THEN MESN=15:GOSUB *VALERR:GOTO 21950:'NG
  1091. 21854   YRE$=RIGHT$(STR$(10000+YRE),4)
  1092. 21855   MNE$=RIGHT$(STR$(100+MNE),2):IYM$=YRE$+MNE$:GOSUB *HKISRC
  1093. 21856     IF FIDX=0 THEN MESN=16:GOSUB *VALERR:GOTO 21950:'NG
  1094. 21860   IF SMOPT(SMODE,2)=0             THEN 21880 :'?
  1095. 21870     IF (YRS*12+MNS)<=(YRE*12+MNE) THEN 21880 :'?
  1096. 21875     MESN=7:GOSUB *VALERR:GOTO 21950          :'NG
  1097. 21880   IF SMOPT(SMODE,4)=0    THEN 21900          :'?
  1098. 21890     IF YNL#<=YNH#        THEN 21900          :'?
  1099. 21895     MESN=8:GOSUB *VALERR:GOTO 21950          :'NG
  1100. 21900   IF SITM=0      THEN MESN=11:GOSUB *VALERR:GOTO 21950:'NG
  1101. 21910     IF SMODE<>2 THEN 21920                   :'?
  1102. 21915       IF SITM=1  THEN MESN=10:GOSUB *VALERR:GOTO 21950:'NG
  1103. 21920     IF SMODE<>3 THEN 21930                   :'?
  1104. 21925       IF SITM=1  THEN MESN=10:GOSUB *VALERR:GOTO 21950:'NG
  1105. 21930     IF SMODE<>4 THEN *SIEND                  :'OK
  1106. 21940       IF SITM>17 THEN MESN=10:GOSUB *VALERR:GOTO 21950:'NG
  1107. 21945       GOTO *SIEND                            :'OK
  1108. 21950  *SIRETRY
  1109. 21960   G=2:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1110. 21970   GOTO 21040
  1111. 22000  *SI02'
  1112. 22005   G=2:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1113. 22010   SRCCAN=1:GOTO 22170
  1114. 22015   MESN=12:GOSUB *MESDSP
  1115. 22020   CMES$="検索条件をファイルに保存":GOSUB *確認
  1116. 22030   IF SWNO=1 THEN 22160 ELSE 22170
  1117. 22100  *VALERR
  1118. 22110   GOSUB *MESDSP:MESN=25:GOSUB *SNDMSG
  1119. 22130   FOR II=1 TO 8000:NEXT II
  1120. 22135   MESN=3:GOSUB *MESDSP
  1121. 22140   RETURN
  1122. 22150  *SIEND
  1123. 22155   SRCCAN=0
  1124. 22160   GOSUB *検索条件保存
  1125. 22170   GOSUB *検索条件枠消去
  1126. 22180   RETURN
  1127. 22190 '
  1128. 22200 *検索条件表示
  1129. 22204  DEF FONT "システム   12ドット"
  1130. 22205  LINE(147,105)-(595,120),PSET,7,BF
  1131. 22206  IF SMODE=4 THEN 22215
  1132. 22210  SRCYM$=SX$(1)+"."+SX$(2)+"→"+SX$(3)+"."+SX$(4):GOTO 22220
  1133. 22215  SRCYM$=SX$(1)+"."+SX$(2)+"→"+SX$(1)+"."+SX$(2)
  1134. 22220  LINE(430,36)-(530,48),PSET,%8,BF:SYMBOL(432,37),SRCYM$,.75!,.75!,4
  1135. 22230  IF SITM=1 THEN 22245
  1136. 22240  SCOM1$="|      |  金  額  |   コメント":GOTO 22250
  1137. 22245  SCOM1$="|  出 来 事"
  1138. 22250  SYMBOL(148,107),SCOM1$,.75!,.75!,0
  1139. 22255  IF SITM=1 THEN 22270
  1140. 22260  SYMBOL(154,107),ITEM$(SITM),.75!,.75!,ITEMC(SITM)
  1141. 22270  LINE(177,80)-(368,93),PSET,0,BF
  1142. 22272  IF SMODE=2 OR SMODE=4 THEN 22280
  1143. 22274  SYMBOL(177,81),SX$(5),.75!,.75!,4
  1144. 22280  LINE(432,80)-(495,93),PSET,0,BF
  1145. 22282  LINE(531,80)-(594,93),PSET,0,BF
  1146. 22284  IF SITEM=1 OR SMODE=1 OR SMODE=4 THEN 22300
  1147. 22290  SYMBOL(440,82),SX$(6),.75!,.75!,5
  1148. 22294  SYMBOL(541,82),SX$(7),.75!,.75!,5
  1149. 22300  RETURN
  1150. 22310 '
  1151. 22320 *検索条件消去
  1152. 22330  LINE(430,36)-(530,48),PSET,%8,BF
  1153. 22332  LINE(177,80)-(368,93),PSET,0,BF
  1154. 22334  LINE(432,80)-(495,93),PSET,0,BF
  1155. 22336  LINE(531,80)-(594,93),PSET,0,BF
  1156. 22340  LINE(147,105)-(595,120),PSET,7,BF
  1157. 22350  RETURN
  1158. 22360 '
  1159. 23000 *キーワード検出
  1160. 23010  KEYWN=0:FOR II=1 TO 16:KEYS$(II)="":NEXT II
  1161. 23020  KEYW$=SX$(5)
  1162. 23030  SPN=INSTR(KEYW$," ")
  1163. 23035  IF SPN=0 THEN 23050
  1164. 23040  IF SPN=1 THEN RETURN
  1165. 23045  KEYW$=LEFT$(KEYW$,SPN-1)
  1166. 23050  FOR II=1 TO 16
  1167. 23060    SLN1=INSTR(KEYW$,"/"):SLN2=INSTR(KEYW$,"・")
  1168. 23061    IF SLN1=0 THEN SLN=SLN2: GOTO 23070
  1169. 23062    IF SLN2=0 THEN SLN=SLN1: GOTO 23070
  1170. 23065    IF SLN1<SLN2 THEN SLN=SLN1 ELSE SLN=SLN2
  1171. 23070    IF SLN<>0 THEN 23085
  1172. 23080    KEYS$(II)=KEYW$:KEYWN=II:II=17:GOTO 23120
  1173. 23085    KEYL=LEN(KEYW$)
  1174. 23090    IF SLN=1 THEN KEYW$=RIGHT$(KEYW$,KEYL-1):GOTO 23120
  1175. 23100    KEYS$(II)=LEFT$(KEYW$,SLN-1)
  1176. 23110    KEYW$=RIGHT$(KEYW$,KEYL-SLN)
  1177. 23120  NEXT II
  1178. 23125  '  COLOR 1:FOR II=1 TO 5:PRINT "/";KEYS$(II);"/":NEXT:PRINT KEYWN:STOP
  1179. 23130  RETURN
  1180. 23140 '
  1181. 23200 *検索データ検出
  1182. 23210  FOR II=0 TO 15:SRD(II)=0:NEXT II
  1183. 23220  IF SITM<>17 THEN 23240
  1184. 23230    FOR II=1 TO  3:SRD(II)=1:NEXT II:GOTO 23310
  1185. 23240  IF SITM<>18 THEN 23260
  1186. 23250    FOR II=4 TO  7:SRD(II)=1:NEXT II:GOTO 23310
  1187. 23260  IF SITM<>19 THEN 23280
  1188. 23270    FOR II=4 TO 15:SRD(II)=1:NEXT II:GOTO 23310
  1189. 23280  IF SITM<>20 THEN 23300
  1190. 23290    FOR II=1 TO 15:SRD(II)=1:NEXT II:GOTO 23310
  1191. 23300  SRD(SITM-1)=1
  1192. 23310      'COLOR 1:FOR II=0 TO 15:PRINT II;"---";SRD(II):NEXT II:STOP
  1193. 23315  RETURN
  1194. 23320 '
  1195. 23400 *検索年月日更新
  1196. 23405  IF SMODE=4 THEN SRCCNT=0:RETURN
  1197. 23410  YR=YRM:MN=MNM:YDEF=0:MDEF=+1
  1198. 23420  GOSUB *年月日変更
  1199. 23430  IF (YR*12+MN)<=(YRE*12+MNE) THEN 23440
  1200. 23435  SRCCNT=0:RETURN
  1201. 23440  IYM$=YR$+MN$
  1202. 23450  SRCCNT=1
  1203. 23460  RETURN
  1204. 23470 '
  1205. 23500 *検索中止
  1206. 23510  SRCABT=1
  1207. 23520  RDY=32
  1208. 23540  RETURN 25390
  1209. 23550 '
  1210. 25000 *検索実行
  1211. 25010  IF SMODE=1 THEN KEYS=1:YENS=0:ALLS=0
  1212. 25011  IF SMODE=2 THEN KEYS=0:YENS=1:ALLS=0
  1213. 25012  IF SMODE=3 THEN KEYS=1:YENS=1:ALLS=0
  1214. 25013  IF SMODE=4 THEN KEYS=0:YENS=0:ALLS=1
  1215. 25015  MCN=2:GOSUB *MCDSET
  1216. 25020  IF KEYS=0 THEN 25030
  1217. 25025  GOSUB *キーワード検出
  1218. 25030  GOSUB *検索データ検出
  1219. 25040  MESN=17:GOSUB *MESDSP:MESN=15:GOSUB *SNDMSG
  1220. 25050  GOSUB *SRCROPN:FLN$=DRV$+PATH$+"\SRCW.DAT"
  1221. 25060  CLOSE :KILL FLN$
  1222. 25100  RSR=0:SRCABT=0
  1223. 25110  IYM$=YRS$+MNS$
  1224. 25114  PCMAX=((YRE*12+MNE)-(YRS*12+MNS)+1)*31:PCCUR=0
  1225. 25115  PCCD=1:PCMES$=SMODE$(SMODE)+" 実行中":GOSUB *PROCD
  1226. 25120  GOSUB *HKISRC
  1227. 25125  YRM$=RIGHT$(STR$(10000+YRM),4)
  1228. 25126  MNM$=RIGHT$(STR$(100+MNM),2)
  1229. 25130  IF FIDX=0 THEN 25400
  1230. 25135    KEY(10) ON
  1231. 25140  FOR RDY=1 TO 31
  1232. 25145    GOSUB *検索アクセス表示
  1233. 25150    GOSUB *HKDGET
  1234. 25160    PCCD=3:PCCUR=PCCUR+1:PCINT=1:GOSUB *PROCD
  1235. 25200    IF ALLS=1 THEN GOSUB *無条件検索:GOTO 25380
  1236. 25210    IF KEYS=1 THEN GOSUB *キーデータ検索
  1237. 25220    IF YENS=1 THEN GOSUB *金額データ検索
  1238. 25380  NEXT RDY:KEY(10) OFF
  1239. 25390    IF SRCABT=1 THEN 25415
  1240. 25400  GOSUB *検索年月日更新
  1241. 25410  IF SRCCNT=1 THEN 25120
  1242. 25415  PCCD=2:GOSUB *PROCD
  1243. 25420  MCN=1:GOSUB *MCDSET
  1244. 25430  RETURN
  1245. 25480 '
  1246. 25500 *無条件検索
  1247. 25510  UX$(1)=YRM$+"."+MNM$+"."+RIGHT$(STR$(100+RDY),2)
  1248. 25520  YR=YRM:MN=MNM:DY=RDY:GOSUB *週検索
  1249. 25525  IF RDY>MNDN THEN RETURN
  1250. 25530  IF SITM=1 THEN 25590
  1251. 25540  UX$(2)=WKM$
  1252. 25550  UX$(3)=ITEM$(SITM)
  1253. 25560  UX$(4)=RIGHT$(DYN$(SITM-1),8)
  1254. 25570  UX$(5)=DRM$(SITM-1)
  1255. 25580  GOTO 25610
  1256. 25590  VX$(1)=UX$(1):VX$(2)=WKM$ :VX$(3)= LEFT$(DEV$,64)
  1257. 25595  GOSUB *検索データ保存
  1258. 25600  VX$(1)=UX$(1):VX$(2)="    ":VX$(3)=RIGHT$(DEV$,64)
  1259. 25605  '
  1260. 25610  GOSUB *検索データ保存
  1261. 25620  RETURN'
  1262. 25630 '
  1263. 25700 *キーデータ検索
  1264. 25704  FOR II=0 TO 15:FKEYS(II)=0:NEXT II
  1265. 25705  FOR SIT=0 TO 15:FDATA=0
  1266. 25706    IF SRD(SIT)=0 THEN 25780
  1267. 25710    IF KEYWN=0 THEN FDATA=1:GOTO 25775
  1268. 25720    FOR II=1 TO KEYWN
  1269. 25725      IF SITM=1 THEN 25740
  1270. 25730      IF INSTR(DRM$(SIT),KEYS$(II))=0 THEN 25760 ELSE 25750
  1271. 25740      IF INSTR(DEV$     ,KEYS$(II))=0 THEN 25760 ELSE 25750
  1272. 25750      FDATA=1:FKEYS(SIT)=1:II=KEYWN+1
  1273. 25760    NEXT II
  1274. 25770    IF FDATA=0 THEN 25780
  1275. 25775    IF YENS=1 THEN 25780
  1276. 25776    SITMX=SITM:SITM=SIT+1:GOSUB *無条件検索:SITM=SITMX
  1277. 25780  NEXT SIT
  1278. 25790  RETURN
  1279. 25795 '
  1280. 25800 *金額データ検索
  1281. 25805  FOR SIT=0 TO 15:FDATA=0
  1282. 25806    IF SRD(SIT)=0 THEN 25880
  1283. 25830    IF DYN#(SIT)<YNL# THEN 25880 
  1284. 25840    IF DYN#(SIT)>YNH# THEN 25880 
  1285. 25850    FDATA=1
  1286. 25875    IF KEYS=0 THEN 25877
  1287. 25876    IF FKEYS(SIT)=0 THEN 25880
  1288. 25877    SITMX=SITM:SITM=SIT+1:GOSUB *無条件検索:SITM=SITMX
  1289. 25880  NEXT SIT
  1290. 25890  RETURN
  1291. 26130 '
  1292. 26200 *検索データSAVE
  1293. 26210  IF SITM=1 THEN 26230
  1294. 26220  GOSUB *SRCRPUT1:RETURN
  1295. 26230  GOSUB *SRCRPUT2:RETURN
  1296. 26240 '
  1297. 26300 *検索データ保存
  1298. 26310  RSR=RSR+1
  1299. 26315  IF SITM=1 THEN 26325
  1300. 26320  SRCFND$=RIGHT$(STR$(10000+RSR  ),4):GOTO 26340
  1301. 26325  SRCFND$=RIGHT$(STR$(10000+RSR\2),4)
  1302. 26340  LINE(550,465)-(550+21*6,479),PSET,0,BF
  1303. 26350  SYMBOL(550,465),"●該当件数:"+SRCFND$,.75!,.75!,7
  1304. 26380  GOSUB *検索データSAVE
  1305. 26390  RETURN
  1306. 26395 '
  1307. 26400 *検索アクセス表示
  1308. 26410  SRCYMD$=YRM$+"."+MNM$+"-"+RIGHT$(STR$(100+RDY),2)
  1309. 26430  LINE(400,465)-(400+23*6,479),PSET,0,BF
  1310. 26440  SYMBOL(400,465),"●検索年月日:"+SRCYMD$,.75!,.75!,7
  1311. 26460  RETURN
  1312. 26470 '
  1313. 26500 *前検索データ表示
  1314. 26510  GOSUB *SRCROPN:CLOSE
  1315. 26520  IF BR=0 THEN RETURN
  1316. 26530  GOSUB *SRCSGET
  1317. 26535  GOSUB *検索条件表示
  1318. 26540  GOSUB *初期表示ポイント検出
  1319. 26545  GOSUB *検索結果データ表示MAIN
  1320. 26550  SRCF=1
  1321. 26555  MESN=4:GOSUB *MESDSP
  1322. 26560  GOSUB *検索結果ページ表示
  1323. 26570  RETURN
  1324. 26580 '
  1325. 27000 *初期表示ポイント検出
  1326. 27010  GOSUB *SRCROPN:CLOSE
  1327. 27020  SR=INT((BR-1)/20)*20+1
  1328. 27030  ER=BR
  1329. 27040  RETURN
  1330. 27050 '
  1331. 27060 *検索結果データ表示MAIN
  1332. 27065  MCN=2:GOSUB *MCDSET
  1333. 27070  GOSUB *検索結果データ初期化
  1334. 27075  IF SITM=1 THEN 27085
  1335. 27080  GOSUB *SRCRGET1:GOTO 27140
  1336. 27085  GOSUB *SRCRGET2:GOTO 27140
  1337. 27140  GOSUB *検索結果データ表示
  1338. 27145  MCN=1:GOSUB *MCDSET
  1339. 27150  RETURN
  1340. 27170 '
  1341. 27200 *検索結果データ表示
  1342. 27210  DSPLX=DSPL:FOR DSPL=1 TO 20
  1343. 27220    GOSUB *検索結果データ表示SUB
  1344. 27225  NEXT DSPL:DSPL=DSPLX
  1345. 27230  GOSUB *検索結果ページ表示
  1346. 27240  RETURN
  1347. 27245 *検索結果データ表示SUB
  1348. 27250  LX1=55:LX2=120:LX3=154:LX4=200:LX5=262:LXE=595
  1349. 27255  LY0=124:LP=16:LY=LY0+(DSPL-1)*LP
  1350. 27265  LINE(LX1,LY)-(LXE,LY+12),PSET,%6,BF
  1351. 27266  IF SITM=1 THEN 27310
  1352. 27268  SYMBOL(LX1,LY),UXX$(DSPL,1),.75!,.75!,0
  1353. 27270  IF UXX$(DSPL,2)="SUN " THEN CW=2:GOTO 27285
  1354. 27275  IF UXX$(DSPL,2)="SAT " THEN CW=1:GOTO 27285
  1355. 27280                              CW=0:GOTO 27285
  1356. 27285  SYMBOL(LX2,LY),UXX$(DSPL,2),.75!,.75!,CW
  1357. 27290  SYMBOL(LX3,LY),UXX$(DSPL,3),.75!,.75!,1
  1358. 27295  SYMBOL(LX4,LY),UXX$(DSPL,4),.75!,.75!,0
  1359. 27300  SYMBOL(LX5,LY),UXX$(DSPL,5),.75!,.75!,0
  1360. 27305  RETURN
  1361. 27310  IF VXX$(DSPL,2)="    " THEN CWX=4 ELSE CWX=0
  1362. 27311  IF VXX$(DSPL,2)="SUN " THEN CW=10:GOTO 27314
  1363. 27312  IF VXX$(DSPL,2)="SAT " THEN CW=9 :GOTO 27314
  1364. 27313                              CW=0 :GOTO 27314
  1365. 27314  SYMBOL(LX1,LY),VXX$(DSPL,1),.75!,.75!,%CWX
  1366. 27315  SYMBOL(LX2,LY),VXX$(DSPL,2),.75!,.75!,%CW
  1367. 27316  SYMBOL(LX3,LY),VXX$(DSPL,3),.75!,.75!,0
  1368. 27320  RETURN
  1369. 27325 '
  1370. 27330  RETURN
  1371. 27340 '
  1372. 27400 *検索結果データ画面消去
  1373. 27405  LX1=55:LXE=595:LY0=124:LP=16
  1374. 27410  FOR DSPL=1 TO 20
  1375. 27420    LY=LY0+(DSPL-1)*LP
  1376. 27430    LINE(LX1,LY)-(LXE,LY+12),PSET,%6,BF
  1377. 27440  NEXT DSPL
  1378. 27450  X1=602:X2=614:Y1=151:Y2=413
  1379. 27455  LINE(X1,Y1)-(X2,Y2),PSET,%1,BF
  1380. 27460  RETURN
  1381. 27470 '
  1382. 27480 *ページ変更
  1383. 27490  PCAN=0:PCANX=0:SR=SR+PDEF*20
  1384. 27500  IF SR<1  THEN SR=1                  :PCANX=1:GOTO 27520
  1385. 27510  IF SR>BR THEN SR=INT((BR-1)/20)*20+1:PCANX=1:GOTO 27520
  1386. 27520  ER=SR+19
  1387. 27530  IF ER>BR THEN ER=ER-1:GOTO 27530
  1388. 27540  IF PCANX=1 AND (SWNO=2 OR SWNO=3) THEN PCAN=1
  1389. 27550  RETURN
  1390. 27560 '
  1391. 27570 '
  1392. 27580 *検索結果データ初期化'
  1393. 27590  FOR II=0 TO 20
  1394. 27600    UXX$(II,1)=SPACE$(10)
  1395. 27610    UXX$(II,2)=SPACE$(4)
  1396. 27620    UXX$(II,3)=SPACE$(6)
  1397. 27630    UXX$(II,4)=SPACE$(8)
  1398. 27640    UXX$(II,5)=SPACE$(52)
  1399. 27650    VXX$(II,1)=SPACE$(10)
  1400. 27660    VXX$(II,2)=SPACE$(4)
  1401. 27670    VXX$(II,3)=SPACE$(64)
  1402. 27720  NEXT II
  1403. 27730  RETURN
  1404. 27740 '
  1405. 27800 *検索結果ページ表示
  1406. 27810  TPAGE=INT((BR-1)/20)+1:TPAGE$=RIGHT$(STR$(1000+TPAGE),3)
  1407. 27820   PAGE=INT((SR-1)/20)+1: PAGE$=RIGHT$(STR$(1000+ PAGE),3)
  1408. 27830  LINE(540,465)-(639,479),PSET,0,BF
  1409. 27840  SYMBOL(540,465),"PAGE:"+PAGE$+" / "+TPAGE$,.75!,.75!,4
  1410. 27845  GOSUB *ゲージ表示
  1411. 27850  RETURN
  1412. 27860 '
  1413. 27900 *行変更
  1414. 27910  PCAN=0:PCANX=0:SR=SR+LDEF
  1415. 27920  IF SR<1  THEN SR=1                  :PCANX=1:GOTO 27940
  1416. 27930  IF SR>BR THEN SR=INT((BR-1)/20)*20+1:PCANX=1:GOTO 27940
  1417. 27940  ER=SR+19
  1418. 27950  IF ER>BR THEN ER=ER-1:GOTO 27950
  1419. 27960  IF PCANX=1 AND (SWNO=2 OR SWNO=3) THEN PCAN=1
  1420. 27970  RETURN
  1421. 27980 '
  1422. 28000 *ゲージ表示
  1423. 28010  X1=602:X2=614:Y1=151:Y2=413
  1424. 28020  LINE(X1,Y1)-(X2,Y2),PSET,%1,BF
  1425. 28030  YS=Y1+INT((Y2-Y1)*((SR-1)/BR))
  1426. 28040  YE=Y1+INT((Y2-Y1)*(ER/BR))
  1427. 28050  LINE(X1,YS)-(X2,YE),PSET,4,BF
  1428. 28060  RETURN
  1429. 28100 '//////////////////// 辞書ルーチン
  1430. 28210 '
  1431. 28220 *辞書データ枠表示
  1432. 28230  G=4:GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),DICD#
  1433. 28240  MOUSE 1,,,0:LOAD@ TIFDRV$+"\hk2DICD.TIF",(W_X1(G),W_Y1(G)):MOUSE 1,,,1
  1434. 28250  SYMBOL(W_X1(G)+23,W_Y1(G)+5),CFI$(IPNO),.75!,.75!,0
  1435. 28270  RETURN
  1436. 28280 *辞書データ枠消去
  1437. 28290  G=4:PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),DICD#
  1438. 28310  RETURN
  1439. 28320 '
  1440. 28330 *辞書入力スイッチ
  1441. 28340  G=2:IF DICSF=0 THEN DICSC=0 ELSE DICSC=4
  1442. 28350  LINE(W_X1(G)+27,W_Y1(G)+162)-(W_X1(G)+29,W_Y1(G)+170),PSET,DICSC,BF
  1443. 28360  WAIT SWAIT
  1444. 28370  RETURN
  1445. 28380 '
  1446. 28390 *辞書データ表示
  1447. 28400  G=4
  1448. 28410  LINE(W_X1(G)+104,W_Y1(G)+4)-(W_X1(G)+135,W_Y1(G)+16),PSET,0,BF
  1449. 28420  WPAGE=INT((WSP-1)/16)+1
  1450. 28430  MPAGE=INT((WRDM(IPNO)-1)/16)+1
  1451. 28440  WPG$=RIGHT$(STR$(WPAGE),1)+"/"+RIGHT$(STR$(MPAGE),1)
  1452. 28450  SYMBOL(W_X1(G)+108,W_Y1(G)+5),WPG$,.75!,.75!,4,,,,2
  1453. 28460  FOR II=0 TO 15
  1454. 28465    Y=W_Y1(G)+55+14*II
  1455. 28466    LINE(W_X1(G)+7,Y)-(W_X1(G)+101,Y+12),PSET,0,BF
  1456. 28470    IF (WSP+II)>WRDM(IPNO) THEN 28500
  1457. 28480    WRDX$=LEFT$(WRD$(IPNO,WSP+II),14)
  1458. 28485    IF KLEFT$(WRDX$,1)="★" THEN WRDDC=4 ELSE WRDDC=7
  1459. 28490    SYMBOL(W_X1(G)+10,Y),WRDX$,.75!,.75!,WRDDC
  1460. 28500  NEXT II
  1461. 28510  RETURN
  1462. 28520 '
  1463. 28530 *辞書入力
  1464. 28535  G=4:IPNO=SITM-1
  1465. 28540  GOSUB *辞書データ枠表示
  1466. 28550  SPS=INSTR(SX$(5),"  ")
  1467. 28560  IF SPS=1           THEN LMG$=""        :GOTO 28590
  1468. 28570  IF SPS>30 OR SPS=0 THEN LMG$=SX$(5)    :GOTO 28590
  1469. 28580  LMG$=LEFT$(SX$(5),SPS)
  1470. 28590  LX=W_X1(2)+86:LY=W_Y1(2)+84:LC=4:CBC=8::LL=24::G=1:LP=0
  1471. 28595  SYMBOL(LX,LY),LMG$,.75!,.75!,LC
  1472. 28600  WSP=1
  1473. 28610  GOSUB *辞書データ表示
  1474. 28620  MESN=23:GOSUB *MESDSP
  1475. 28630  SWPASS=1:G=4:GOSUB *MCSELECT
  1476. 28635  IF SWNO<0 THEN SWNO=1
  1477. 28636  IF SWNO=22 THEN GOTO 28630
  1478. 28640  IF SWNO>5 THEN *WSEL
  1479. 28650  ON SWNO GOTO *WS3,*WS2,*WS1,*WS4,*WS5
  1480. 28655  GOTO 28630
  1481. 28660  '
  1482. 28670  *WS4:'--- PAGE INC
  1483. 28680   G=4:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1484. 28690   WSP=WSP+16
  1485. 28700   IF WSP>WRDM(IPNO) THEN WSP=WSP-16:GOTO 28720
  1486. 28710   GOSUB *辞書データ表示
  1487. 28720   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1488. 28730   GOTO 28620
  1489. 28740  *WS5:'--- PAGE DEC
  1490. 28750   G=4:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1491. 28760   WSP=WSP-16
  1492. 28770   IF WSP<1 THEN WSP=WSP+16:GOTO 28790
  1493. 28780   GOSUB *辞書データ表示
  1494. 28790   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1495. 28800   GOTO 28620
  1496. 28810  *WS3:'--- 手入力
  1497. 28820   ENDF=1
  1498. 28830   GOTO 28860
  1499. 28840  *WS1:'--- 終了
  1500. 28850   ENDF=0
  1501. 28860   IF RIGHT$(LMG$,1)="/" THEN LMG$=LEFT$(LMG$,LEN(LMG$)-1)
  1502. 28870   SX$(5)=LEFT$(LMG$+SPACE$(32),32)
  1503. 28875   LINE(LX,LY)-(LX+32*6,LY+12),PSET,%8,BF
  1504. 28880   SYMBOL(LX,LY),SX$(5),.75!,.75!,7
  1505. 28890   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1506. 28900   G=4:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1507. 28910   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1508. 28920   GOSUB *辞書データ枠消去
  1509. 28930   G=2:RETURN
  1510. 28940  *WS2:'--- 消去
  1511. 28950   G=4:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1512. 28960   LMG$=""
  1513. 28970   LINE(LX,LY)-(LX+32*6,LY+12),PSET,%8,BF
  1514. 28980   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1515. 28990   GOTO 28620
  1516. 29000  *WSEL'--------------
  1517. 29010   G=4:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1518. 29012   WSELN=WSP+(SWNO-6)
  1519. 29014   IF WSELN>WRDM(IPNO) THEN 29050
  1520. 29016   IF KLEFT$(WRD$(IPNO,WSELN),1)="★" THEN 29050
  1521. 29020   LMG$=LMG$+WRD$(IPNO,WSELN)+"/"
  1522. 29025   IF LEN(LMG$)<=32 THEN 29040
  1523. 29026   LMG$=LEFT$(LMG$,33):CHT=KTYPE(KRIGHT$(LMG$,1),1)
  1524. 29027   IF CHT=1 THEN LMG$=LEFT$(LMG$,31) ELSE LMG$=LEFT$(LMG$,32)
  1525. 29040   SYMBOL(LX,LY),LMG$,.75!,.75!,4
  1526. 29050   G=4:B=SWNO:BST(G,B)=0:GOSUB *BTN_ONOFF
  1527. 29060   GOTO 28620
  1528. 29070  *WS6'--------------- drag
  1529. 29110   GOSUB *MCDRAG
  1530. 29130   GOTO 28620
  1531. 29140 '
  1532. 29200 *検索結果印刷
  1533. 29205  GOSUB *LAJ2:'FF$=CHR$(&H0A)
  1534. 29210  MESN=1:GOSUB *MESDSP
  1535. 29220  GOSUB *ヘッダー印刷
  1536. 29230  FOR R=1 TO BR
  1537. 29240    IF SITM<>1 THEN 29290
  1538. 29250  'SITM=1
  1539. 29260    GOSUB *SRCPGET2:PR$=""
  1540. 29270    PR$=PR$+KNP$+VXX$(0,1)+" "
  1541. 29271    PR$=PR$+KNP$+VXX$(0,2)+" "
  1542. 29272    PR$=PR$+KJP$+LEFT$(VXX$(0,3),54)
  1543. 29280    GOTO 29320
  1544. 29290  'SITM=2
  1545. 29300    GOSUB *SRCPGET1:PR$=""
  1546. 29310    PR$=PR$+KNP$+UXX$(0,1)+" "
  1547. 29311    PR$=PR$+KNP$+UXX$(0,2)+" "
  1548. 29312    PR$=PR$+KJP$+UXX$(0,3)
  1549. 29313    PR$=PR$+KNP$+UXX$(0,4)+" "
  1550. 29314    PR$=PR$+KJP$+LEFT$(UXX$(0,5),40)
  1551. 29320  '
  1552. 29330    LPRINT KNP$+SP$+PR$
  1553. 29340  NEXT R:LPRINT
  1554. 29350  RETURN
  1555. 29390 '
  1556. 29400 *ヘッダー印刷
  1557. 29410  IF SITM<>1 THEN 29430
  1558. 29420  PR$="  日付   曜日     出来事":GOTO 29440
  1559. 29430  PR$="  日付   曜日  項目    金額    コメント"
  1560. 29440  LPRINT KNP$+SP$+KJP$+PR$
  1561. 29450  LPRINT KNP$+SP$+STRING$(74,"-")
  1562. 29460  RETURN
  1563. 29470 '
  1564. 29500 *LAJ  :'////////// 漢字文字ピッチ縮小
  1565. 29510  ON PRTCD+1 GOTO 29520,29530
  1566. 29520  LPRINT SPACE$(3)+CHR$(&H1C);"$";CHR$(&H22,&H76);:RETURN
  1567. 29530  LPRINT SPACE$(5);                               :RETURN
  1568. 29540 *LAJ2 :'////////// 漢字文字ピッチ縮小2
  1569. 29550  ON PRTCD+1 GOTO 29560,29570
  1570. 29560  LPRINT SPACE$(3)+CHR$(&H1C);"$";CHR$(&H23,&H72);:RETURN
  1571. 29570  SP$=SPACE$(5)
  1572. 29571  'KNP$=CHR$(&H1B)+"c"+CHR$(&H1)+CHR$(&H0)
  1573. 29572  KJP$=CHR$(&H1C)+"c"+CHR$(&H10)+CHR$(&H0)
  1574. 29574 '
  1575. 29578  LPRINT CHR$(&H1B)+"@"
  1576. 29579  RETURN
  1577. 29580 '
  1578. 30000 *検索モード読み取り
  1579. 30010  RESTORE *検索モード項目:READ MODEN
  1580. 30020  FOR SMODE=1 TO MODEN
  1581. 30030    READ SMODE$(SMODE)
  1582. 30035    FOR II=1 TO 5:READ SMOPT(SMODE,II):NEXT II
  1583. 30040  NEXT SMODE
  1584. 30050  FOR II=1 TO 5:READ OPTX(II),OPTY(II):NEXT II
  1585. 30060  RESTORE *項目データ
  1586. 30065  FOR II=1 TO 20
  1587. 30070    READ ITEM$(II),ITEMC(II)
  1588. 30075    IF (II>1) AND (II<17) THEN ITEM$(II)=CFI$(II-1)
  1589. 30080  NEXT II
  1590. 30085  RETURN
  1591. 30090 '
  1592. 30480 '
  1593. 30500 *数字漢字変換
  1594. 30505  NBK$=""
  1595. 30510  FOR INBK=1 TO NBN
  1596. 30512    NBAX$=MID$(NBA$,INBK,1)
  1597. 30514    IF NBAX$=" " THEN NBK$=NBK$+" ":GOTO 30530
  1598. 30520    NBK$=NBK$+KNJ$(&H2330+VAL(NBAX$))
  1599. 30530  NEXT INBK
  1600. 30540  RETURN
  1601. 30580 '
  1602. 31000 *FADEOUT:CLS 1:CONSOLE 0,24,0
  1603. 31010  FOR II=0 TO 15
  1604. 31020    PALETTE II,[16*II,16*II,16*II]
  1605. 31030  NEXT II
  1606. 31040  FOR II=0 TO 255 STEP 5
  1607. 31050    FOR JJ=0 TO 15:KK=16*JJ+II*(255-16*JJ)/255
  1608. 31054      PALETTE JJ,[KK,KK,KK]
  1609. 31056    NEXT JJ
  1610. 31060  NEXT II
  1611. 31070  RETURN
  1612. 31080 '
  1613. 31200 *確認
  1614. 31205  G=3:SWNOX=SWNO:MOUSE 1,,,0
  1615. 31210  GET@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1616. 31220  LOAD@ TIFDRV$+"\CAUTION2.TIF",(W_X1(G),W_Y1(G))
  1617. 31225  PLAY "o6l4ce":MOUSE 1,,,1
  1618. 31230  FOR II=1 TO 4
  1619. 31232    SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,6
  1620. 31234    WAIT SWAIT\10+1
  1621. 31236    LINE(W_X1(G)+102,W_Y1(G)+9)-(W_X1(G)+102+6*39,W_Y1(G)+9+12),PSET,%9,BF
  1622. 31237    WAIT SWAIT\10+1
  1623. 31238  NEXT II
  1624. 31239  SYMBOL(W_X1(G)+102,W_Y1(G)+9),CMES$,.75!,.75!,7
  1625. 31240  MESN=19:GOSUB *SNDMSG:'28chr
  1626. 31241  G=3:GOSUB *MCSELECT'ボタン選択
  1627. 31242  IF SWNO<0 THEN SWNO=2
  1628. 31243  IF SWNO=3 THEN GOSUB *MCDRAG:GOTO 31241
  1629. 31244  IF SWNO=0 THEN 31241
  1630. 31245  G=3:B=SWNO:BST(G,B)=1:GOSUB *BTN_ONOFF
  1631. 31260  WAIT SWAIT\5+1
  1632. 31270  PUT@A(W_X1(G),W_Y1(G))-(W_X2(G),W_Y2(G)),MD_SB#
  1633. 31272  CAUNO=SWNO:SWNO=SWNOX
  1634. 31275  RETURN
  1635. 31280 '
  1636. 32000 '
  1637. 32010 *ABOUT表示
  1638. 32020  X1A=146:Y1A=150:XPA=326:YPA=100
  1639. 32030  MOUSE 1,,,0
  1640. 32040  GET@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
  1641. 32050  LOAD@ TIFDRV$+"\hk2logo.tif",(X1A,Y1A)
  1642. 32060  MOUSE 1,,,1
  1643. 32070  CMES$=ABOUT$:GOSUB *確認
  1644. 32080  PUT@A(X1A,Y1A)-(X1A+XPA,Y1A+YPA),ABOUTD#
  1645. 32090  RETURN
  1646. 32100 '
  1647. 33000 *PROCD:'処理状況表示
  1648. 33010  ON PCCD GOTO *PC01,*PC02,*PC03
  1649. 33020 *PC01
  1650. 33030  GET@A(150,200)-(483,256),MD_SB#
  1651. 33040  MOUSE 1,,,0:LOAD@ TIFDRV$+"\HK2PROC.TIF",(150,200):MOUSE 1,,,1
  1652. 33050  SYMBOL(226,204),PCMES$,.75!,.75!,0
  1653. 33060  RETURN
  1654. 33070 *PC02
  1655. 33080  PUT@A(150,200)-(483,256),MD_SB#
  1656. 33090  RETURN
  1657. 33100 *PC03:' pcmax,pccur,pcint
  1658. 33110  XP0=157:YP0=240:XPM=477:YPM=250
  1659. 33120  IF (PCCUR MOD PCINT)<>0 THEN RETURN
  1660. 33130  XP=XP0+INT((XPM-XP0)*(PCCUR/PCMAX))
  1661. 33140  LINE(XP0,YP0)-(XP,YPM),PSET,1,BF
  1662. 33150  RETURN
  1663. 33160 '
  1664. 34000 *PATHMAKE:'---------- パス作成 -------------------------------
  1665. 34005  DRV$=LEFT$(XDRV$,2)
  1666. 34010  IF LEN(XDRV$)=3 THEN DRV$=LEFT$(XDRV$,2):PATH$="":GOTO 34020
  1667. 34015  PATH$=RIGHT$(XDRV$,LEN(XDRV$)-2)
  1668. 34020  RETURN
  1669. 34030 '
  1670. 35000 *HKIOPN:'---------- インデックスファイルオープン
  1671. 35005  XDRV$=DATDRV$:GOSUB *PATHMAKE
  1672. 35020  FLN$=DRV$+"(38)"+PATH$+"\HLIDX.DAT"
  1673. 35030  OPEN "R",#2,FLN$
  1674. 35040  FIELD #2,6 AS I$(1),32 AS I$(2)
  1675. 35050  IR=LOF(2)
  1676. 35060  RETURN
  1677. 35070 '
  1678. 35100 *HKDOPN:'---------- 家計簿データファイルオープン
  1679. 35105  XDRV$=DATDRV$:GOSUB *PATHMAKE
  1680. 35120  FLN$=DRV$+"(1120)"+PATH$+"\HL"+IYM$+".DAT"
  1681. 35130  OPEN "R",#1,FLN$
  1682. 35140  FIELD #1,128 AS D$(1),10*16 AS D$(2),52*4 AS D$(3),52*4 AS D$(4),52*4 AS D$(5),52*4 AS D$(6)
  1683. 35150  AR=LOF(1)
  1684. 35160  RETURN
  1685. 35170 '
  1686. 35200 *SRCSOPN:'---------- 検索条件ファイルオープン
  1687. 35205  XDRV$=PRGDRV$:GOSUB *PATHMAKE
  1688. 35220  FLN$=DRV$+"(62)"+PATH$+"\SRCS.DAT"
  1689. 35230  OPEN "R",#1,FLN$
  1690. 35240  FIELD #1,4 AS S$(1),2 AS S$(2),4 AS S$(3),2 AS S$(4),32 AS S$(5),8 AS S$(6),8 AS S$(7),2 AS S$(8)
  1691. 35260  RETURN
  1692. 35270 '
  1693. 35300 *SRCROPN:'---------- 検索結果ファイルオープン
  1694. 35305  XDRV$=RAMDRV$:GOSUB *PATHMAKE
  1695. 35320  FLN$=DRV$+"(80)"+PATH$+"\SRCW.DAT"
  1696. 35330  OPEN "R",#3,FLN$
  1697. 35340  FIELD #3,10 AS U$(1),4 AS U$(2),6 AS U$(3),8 AS U$(4),52 AS U$(5)
  1698. 35350  FIELD #3,10 AS V$(1),4 AS V$(2),64 AS V$(3),2 AS V$(4)
  1699. 35360  BR=LOF(3)
  1700. 35365  RETURN
  1701. 35370 '
  1702. 35400 *DTSAVE:'---------- 日付ジャンプデータファイル作成
  1703. 35402  GOSUB *DTCHK
  1704. 35405  XDRV$=RAMDRV$:GOSUB *PATHMAKE
  1705. 35420  FLN$=DRV$+PATH$+"\SRCjump.DAT"
  1706. 35430  OPEN "O",#1,FLN$
  1707. 35440  PRINT #1,DT$:CLOSE
  1708. 35450  RETURN
  1709. 35460 '
  1710. 35500 *DTCHK :'---------- 日付ジャンプデータファイルチェック
  1711. 35505  XDRV$=RAMDRV$:GOSUB *PATHMAKE
  1712. 35520  FLN$=DRV$+"(1)"+PATH$+"\SRCjump.DAT"
  1713. 35530  OPEN "R",#1,FLN$:FIELD #1,1 AS X$
  1714. 35540  CLOSE :KILL DRV$+PATH$+"\SRCjump.DAT"
  1715. 35550  RETURN
  1716. 35560 '
  1717. 36000 *HKISRC:'---------- インデックスファイル検索
  1718. 36005  FIDX=0
  1719. 36010  GOSUB *HKIOPN
  1720. 36020  FOR R=1 TO IR
  1721. 36030    GET #2,R
  1722. 36040    IF IYM$<>I$(1) THEN 36060
  1723. 36050    IYM$=I$(1):IMAK$=I$(2):RI=R:R=IR+1:FIDX=1
  1724. 36060  NEXT R:IF FIDX=0 THEN 36070
  1725. 36062  GET #2,RI
  1726. 36064  YRM=VAL(LEFT$(I$(1),4)):MNM=VAL(RIGHT$(I$(1),2))
  1727. 36070  CLOSE #2
  1728. 36080  RETURN
  1729. 36090 '
  1730. 36200 *HKDGET:'---------- 家計簿データ読み込み
  1731. 36210  GOSUB *HKDOPN
  1732. 36220  R=RDY:IF R>31 THEN CLOSE:RETURN
  1733. 36230  GET #1,R
  1734. 36240  DEV$=D$(1)
  1735. 36250  FOR II=1 TO 16:DYN$(II   )=MID$(D$(2),(II-1)*10+1,10):NEXT II
  1736. 36252  FOR II=1 TO  4:DRM$(II+ 0)=MID$(D$(3),(II-1)*52+1,52):NEXT II
  1737. 36253  FOR II=1 TO  4:DRM$(II+ 4)=MID$(D$(4),(II-1)*52+1,52):NEXT II
  1738. 36254  FOR II=1 TO  4:DRM$(II+ 8)=MID$(D$(5),(II-1)*52+1,52):NEXT II
  1739. 36255  FOR II=1 TO  4:DRM$(II+12)=MID$(D$(6),(II-1)*52+1,52):NEXT II
  1740. 36260  GOSUB *HKDCAL
  1741. 36280  CLOSE #1
  1742. 36290  RETURN
  1743. 36295 '
  1744. 36400 *HKDCAL:'---------- 家計簿金額計算
  1745. 36410  FOR II=1 TO 16:DYN#(II)=VAL(DYN$(II)):NEXT II
  1746. 36490  RETURN
  1747. 36495 '
  1748. 36500 *SRCSGET:'---------- 検索条件ファイル読み込み
  1749. 36510  GOSUB *SRCSOPN
  1750. 36520  GET #1,1
  1751. 36530  FOR II=1 TO 8:SX$(II)=S$(II):NEXT II
  1752. 36540  CLOSE #1
  1753. 36542  SR1YR=VAL(SX$(1)):SR1MN=VAL(SX$(2))
  1754. 36544  SR2YR=VAL(SX$(3)):SR2MN=VAL(SX$(4))
  1755. 36546  YNL#=VAL(SX$(6)):YNH#=VAL(SX$(7))
  1756. 36548  SITM=VAL(SX$(8))
  1757. 36550  RETURN
  1758. 36560 '
  1759. 36600 *SRCSPUT:'---------- 検索条件ファイル書き込み
  1760. 36610  GOSUB *SRCSOPN
  1761. 36620  FOR II=1 TO 8:LSET S$(II)=SX$(II):NEXT II
  1762. 36630  PUT #1,1
  1763. 36640  CLOSE #1
  1764. 36650  RETURN
  1765. 36660 '
  1766. 36700 *SRCRPUT1:'----------検索結果ファイル書き込み1
  1767. 36710  GOSUB *SRCROPN
  1768. 36720  FOR II=1 TO 5:LSET U$(II)=UX$(II):NEXT II
  1769. 36730  PUT #3,RSR
  1770. 36740  CLOSE #3:RETURN
  1771. 36750 *SRCRPUT2:'----------検索結果ファイル書き込み2
  1772. 36760  GOSUB *SRCROPN
  1773. 36770  FOR II=1 TO 3:LSET V$(II)=VX$(II):NEXT II
  1774. 36780  PUT #3,RSR
  1775. 36790  CLOSE #3:RETURN
  1776. 36795 '
  1777. 36800 *SRCRGET1:'----------検索結果ファイル読み込み1
  1778. 36810  GOSUB *SRCROPN:DSPL=1
  1779. 36815  FOR R=SR TO ER
  1780. 36820    GET #3,R
  1781. 36830    FOR II=1 TO 5:UXX$(DSPL,II)=U$(II):NEXT II
  1782. 36832    DSPL=DSPL+1
  1783. 36835  NEXT R
  1784. 36840  CLOSE #3:RETURN
  1785. 36850 *SRCRGET2:'----------検索結果ファイル読み込み2
  1786. 36860  GOSUB *SRCROPN:DSPL=1
  1787. 36865  FOR R=SR TO ER
  1788. 36870    GET #3,R
  1789. 36880    FOR II=1 TO 3:VXX$(DSPL,II)=V$(II):NEXT II
  1790. 36882    DSPL=DSPL+1
  1791. 36885  NEXT R
  1792. 36890  CLOSE #3:RETURN
  1793. 36895 '
  1794. 36900 *SRCPGET1:'----------検索結果ファイル読み込み(印刷用)1
  1795. 36910  GOSUB *SRCROPN
  1796. 36920    GET #3,R:DSPL=0
  1797. 36930    FOR II=1 TO 5:UXX$(DSPL,II)=U$(II):NEXT II
  1798. 36940  CLOSE #3:RETURN
  1799. 36950 *SRCPGET2:'----------検索結果ファイル読み込み(印刷用)2
  1800. 36960  GOSUB *SRCROPN:DSPL=1
  1801. 36970    GET #3,R:DSPL=0
  1802. 36980    FOR II=1 TO 3:VXX$(DSPL,II)=V$(II):NEXT II
  1803. 36990  CLOSE #3:RETURN
  1804. 36995 '
  1805. 37000 *DICREAD:'---------- 辞書読み込み 'V1.1 1993.07.11
  1806. 37020  FOR II=1 TO 15
  1807. 37030    DICNO$=RIGHT$(STR$(100+II),2)
  1808. 37040    OPEN "I",#4,DICDRV$+"\HKWRD"+DICNO$+".DIC"
  1809. 37050    WRDC=1
  1810. 37060    IF EOF(4)<>0 THEN 37140
  1811. 37070    INPUT #4,WLN$:WLN(II,WRDC)=VAL(WLN$)
  1812. 37080    IF EOF(4)<>0 THEN 37140
  1813. 37090    INPUT #4,WFR$:'DUMMY
  1814. 37100    IF EOF(4)<>0 THEN 37140
  1815. 37110    INPUT #4,WRD$:WRD$(II,WRDC)=WRD$
  1816. 37120    WRDC=WRDC+1
  1817. 37130    IF WRDC<=128 THEN 37060
  1818. 37140    WRDM(II)=WRDC-1
  1819. 37150    CLOSE #4
  1820. 37160  NEXT II:DICEXF=1
  1821. 37170  RETURN
  1822. 37180 '
  1823. 37190 '
  1824. 39000 '//////////////////////////////////////////////////
  1825. 39010 *CONFIGファイルチェック'  V1.4 1994.06.19
  1826. 39020 '                         FOR HK T.Komura
  1827. 39030  CFLNO=0
  1828. 39040  OPEN "R",#1,"(1)HK.CFG"
  1829. 39050  FIELD #1,1 AS D$
  1830. 39060  IF LOF(1)=0 THEN *CFGFE1
  1831. 39070  CLOSE
  1832. 39080  OPEN "I",#1,"HK.CFG"
  1833. 39085  GOSUB *CFGREAD:ABOUT$=CFG$ :'-- about$         [0]
  1834. 39090  GOSUB *CFGREAD:PRGDRV$=CFG$:'-- PRGDRV$        [1]
  1835. 39092  FILES ,C,ARY&:N=ARY&(1):DIM ARY$(N)
  1836. 39094  FILES ,N,ARY$:PRGDRV$=ARY$(0):ERASE ARY$
  1837. 39100  GOSUB *CFGREAD:DATDRV$=CFG$:'-- DATDRV$        [2]
  1838. 39110  GOSUB *CFGREAD:RAMDRV$=CFG$:'-- RAMDRV$        [3]
  1839. 39120  TIFDRV$=PRGDRV$+"\TIFF"    :'-- TIFDRV$        [4]
  1840. 39130  GOSUB *CFGREAD:FMBDRV$=CFG$:'-- FMBDRV$        [5]
  1841. 39140  GOSUB *CFGREAD             :'-- SNDMF          [6]
  1842. 39150    IF LEFT$(CFG$,5)<>"SNDMF" THEN *CFGFE2
  1843. 39160    SNDMF=VAL(RIGHT$(CFG$,1))
  1844. 39170  GOSUB *CFGREAD:SNDDRV$=CFG$:'-- SNDDRV$        [7]
  1845. 39180  GOSUB *CFGREAD             :'-- SWAIT          [8]
  1846. 39190    IF LEFT$(CFG$,4)<>"WAIT" THEN *CFGFE2
  1847. 39200    SWAIT=VAL(RIGHT$(CFG$,LEN(CFG$)-5))
  1848. 39210  FOR II=1 TO 15             :'             [9]-[10]
  1849. 39220    GOSUB *CFGREAD:CFI$(II)=CFG$
  1850. 39230  NEXT II
  1851. 39240  GOSUB *CFGREAD             :'-- DICIF         [11]
  1852. 39250    IF LEFT$(CFG$,5)<>"DICIF" THEN *CFGFE2
  1853. 39260    DICIF=VAL(RIGHT$(CFG$,1))
  1854. 39270  GOSUB *CFGREAD             :'-- DICSF         [11]
  1855. 39280    IF LEFT$(CFG$,5)<>"DICSF" THEN *CFGFE2
  1856. 39290    DICSF=VAL(RIGHT$(CFG$,1))
  1857. 39300  GOSUB *CFGREAD:DICDRV$=CFG$:'-- DICDRV$       [12]
  1858. 39310  GOSUB *CFGREAD             :'-- taxr$         [13]
  1859. 39320    IF LEFT$(CFG$,4)<>"TAXR" THEN *CFGFE2
  1860. 39330    TAXR$=RIGHT$(CFG$,LEN(CFG$)-5)
  1861. 39340  GOSUB *CFGREAD             :'-- CALCF         [14]
  1862. 39350    IF LEFT$(CFG$,5)<>"CALCF" THEN *CFGFE2
  1863. 39360    CALCF=VAL(RIGHT$(CFG$,1))
  1864. 39370  GOSUB *CFGREAD             :'--SDAY           [15]
  1865. 39380    IF LEFT$(CFG$,4)<>"SDAY" THEN *CFGFE2
  1866. 39390    SDAY=VAL(RIGHT$(CFG$,2))
  1867. 39400    SDAY$=RIGHT$(STR$(100+SDAY),2)
  1868. 39410    IF SDAY>0 THEN MOFF=0 ELSE MOFF=-1
  1869. 39420  GOSUB *CFGREAD             :'-- SSYMD$        [16]
  1870. 39430    IF LEFT$(CFG$,5)<>"SSYMD" THEN *CFGFE2
  1871. 39440    SSYMD$=RIGHT$(CFG$,8)
  1872. 39450  CLOSE
  1873. 39460  RETURN
  1874. 39470 *CFGREAD:'////////////////////////////////////
  1875. 39480  IF EOF(1)<>0 THEN *CFGFE3
  1876. 39490  LINE INPUT #1,CFG$:CFLNO=CFLNO+1
  1877. 39500  IF LEFT$(CFG$,1)="/" THEN 39480
  1878. 39510  RETURN
  1879. 39520 '------------------------------------------------------------------
  1880. 39530 *CFGFE1
  1881. 39540  CFE$="HK.CFG ファイルが見当たりません。 家計簿を終了します。"
  1882. 39550  GOTO *CFGFEP
  1883. 39560 *CFGFE2
  1884. 39570  CFE$="HK.CFGファイル 行番号"+STR$(CFLNO)+"の内容に誤りがあります。 家計簿を終了します。"
  1885. 39580  GOTO *CFGFEP
  1886. 39590 *CFGFE3
  1887. 39600  CFE$="HK.CFG ファイルの項目に不足があります。 家計簿を終了します。"
  1888. 39610  GOTO *CFGFEP
  1889. 39620 '-------------------------------------------------------------------
  1890. 39630 *CFGFEP
  1891. 39640  LOCATE 2,23:COLOR 6:PRINT CFE$;
  1892. 39650  CLOSE :WAIT 100
  1893. 39660  STOP
  1894. 39670 '///////////////////////////////////////////////////////////////////
  1895. 40000 *ボタン座標:'-------------------------------------------------------
  1896. 40010 DATA 6   'SWGN        スイッチグループ数 
  1897. 40020 '/////////////////////////////
  1898. 40030 '-------------------- [G1] メインスイッチグループ
  1899. 40040 '    SWN(G),SMX,SMY,SMW
  1900. 40050 DATA 41               :'ボタン個数
  1901. 40060 '    X1 ,X2 ,Y1 ,Y2
  1902. 40070 DATA 000,639,000,479  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  1903. 40080 DATA 000,000,000,000  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  1904. 40090 '--------------------
  1905. 40100 '    XB1 XB2 YB1 YB2 
  1906. 40110 DATA   0,123,  0, 22  '  HK2   1
  1907. 40120 DATA 124,168,  5, 22  '記  入  2
  1908. 40130 DATA 169,212,  5, 22  '検  索  3
  1909. 40140 DATA 213,256,  5, 22  '分  析  4
  1910. 40150 DATA 257,300,  5, 22  'カレンダー  5
  1911. 40160 DATA 301,344,  5, 22  '設  定  6
  1912. 40170 DATA 444,567,  0, 22  '日  付  7
  1913. 40180 DATA 568,591,  0, 22  'clock   8
  1914. 40190 DATA 592,615,  0, 22  'help    9
  1915. 40200 DATA 616,639,  0, 22  'END    10
  1916. 40210 '
  1917. 40220 DATA  11, 43, 29, 48  'print    11
  1918. 40230 DATA 124,156, 29, 48  'md-word  12
  1919. 40240 DATA 157,189, 29, 48  'md-mony  13
  1920. 40250 DATA 190,222, 29, 48  'md-w/m   14
  1921. 40260 DATA 223,255, 29, 48  'md-month 15
  1922. 40270 DATA 544,591, 28, 54  '実行     16
  1923. 40280 DATA 592,639, 28, 54  '取消     17
  1924. 40290 '
  1925. 40300 DATA 602,615,123,136  'page up  18
  1926. 40310 DATA 602,615,137,150  'up       19
  1927. 40320 DATA 602,615,414,427  'dn       20
  1928. 40330 DATA 602,615,428,441  'page dn  21
  1929. 40340 '
  1930. 40350 DATA  25, 52,123,137  '1      22
  1931. 40360 DATA  25, 52,139,153  '2      23
  1932. 40370 DATA  25, 52,155,169  '3      24
  1933. 40380 DATA  25, 52,171,185  '4      25
  1934. 40390 DATA  25, 52,187,201  '5      26
  1935. 40400 DATA  25, 52,203,217  '6      27
  1936. 40410 DATA  25, 52,219,233  '7      28
  1937. 40420 DATA  25, 52,235,249  '8      29
  1938. 40430 DATA  25, 52,251,265  '9      30
  1939. 40440 DATA  25, 52,267,281  '10     31
  1940. 40450 DATA  25, 52,283,297  '11     32
  1941. 40460 DATA  25, 52,299,313  '12     33
  1942. 40470 DATA  25, 52,315,329  '13     34
  1943. 40480 DATA  25, 52,331,345  '14     35
  1944. 40490 DATA  25, 52,347,361  '15     36
  1945. 40500 DATA  25, 52,363,377  '16     37
  1946. 40510 DATA  25, 52,379,393  '17     38
  1947. 40520 DATA  25, 52,395,409  '18     39
  1948. 40530 DATA  25, 52,411,425  '19     40
  1949. 40540 DATA  25, 52,427,441  '20     41
  1950. 41000 '-------------------- [G2] 検索条件選択スイッチグループ
  1951. 41010 '    SWN(G),SMX,SMY,SMW
  1952. 41020 DATA 35               :'ボタン個数
  1953. 41030 '    X1 ,X2 ,Y1 ,Y2
  1954. 41040 DATA 150,476,150,367  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  1955. 41050 DATA 000,543,023,465  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  1956. 41060 '--------------------
  1957. 41070 '    XB1 XB2 YB1 YB2 
  1958. 41080 DATA 249,284,  6, 22  '決定-------- 1
  1959. 41090 DATA 285,320,  6, 22  '取消-------- 2
  1960. 41100 DATA 155,174, 30, 46  '▲---------- 3
  1961. 41110 DATA 175,194, 30, 46  '▼---------- 4
  1962. 41120 DATA 258,277, 30, 46  '▲---------- 5
  1963. 41130 DATA 278,297, 30, 46  '▼---------- 6
  1964. 41140 DATA 155,174, 53, 69  '▲---------- 7
  1965. 41150 DATA 175,194, 53, 69  '▼---------- 8
  1966. 41160 DATA 258,277, 53, 69  '▲---------- 9
  1967. 41170 DATA 278,297, 53, 69  '▼----------10
  1968. 41180 DATA 280,297, 82, 98  'KEY WORD----11
  1969. 41190 DATA 152,169,105,121  '金額下限----12
  1970. 41200 DATA 280,297,105,121  '金額上限----13
  1971. 41210 DATA  35, 68,158,175  '辞書    ----14
  1972. 41215 DATA   8, 21,  8, 21  'drag    ----15
  1973. 41220 '
  1974. 41230 DATA 269,314,189,205  '出来事------16  1
  1975. 41240 DATA  85,130,134,150  '給 与------17  2
  1976. 41250 DATA  85,130,151,167  '臨 時------18  3
  1977. 41260 DATA  85,130,168,184  '他収入------19  4
  1978. 41270 DATA 131,176,134,150  '食 費------20  5
  1979. 41280 DATA 131,176,151,167  '生活費------21  6
  1980. 41290 DATA 131,176,168,184  '洗濯代------22  7
  1981. 41300 DATA 177,222,134,150  '光熱費------23  8
  1982. 41310 DATA 177,222,151,167  '被服費------24  9
  1983. 41320 DATA 177,222,168,184  '交際費------25 10
  1984. 41330 DATA 223,268,134,150  '娯楽費------26 11 
  1985. 41340 DATA 223,268,151,167  '酒 代------27 12 
  1986. 41350 DATA 223,268,168,184  '車維持------28 13
  1987. 41360 DATA 269,314,134,150  '教育費------29 14
  1988. 41370 DATA 269,314,151,167  '雑 費------30 15
  1989. 41380 DATA 269,314,168,184  '他支出------31 16
  1990. 41390 DATA  85,130,189,205  '全収入------32 17
  1991. 41400 DATA 131,176,189,205  '基支出------33 18
  1992. 41410 DATA 177,222,189,205  '全支出------34 19
  1993. 41420 DATA 223,268,189,205  '全収支------35 20
  1994. 41430 '
  1995. 42000 '-------------------- スイッチグループ[3] 確認
  1996. 42010 DATA 3                :'ボタン個数
  1997. 42020 '    X1 ,X2 ,Y1 ,Y2
  1998. 42030 DATA 106,522,258,287  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  1999. 42040 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2000. 42050 '--------------------
  2001. 42060 '    XB1 XB2 YB1 YB2
  2002. 42070 DATA 338,369,  6, 23  ' OK     01
  2003. 42080 DATA 370,401,  6, 23  ' NG     02
  2004. 42090 DATA   8, 27,  5, 24  'drag
  2005. 42100 '
  2006. 42110 '
  2007. 42120 '-------------------- スイッチグループ(4) 項目辞書
  2008. 42130 DATA 22               :'ボタン個数
  2009. 42140 '    X1 ,X2 ,Y1 ,Y2
  2010. 42150 DATA 498,639,125,409  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2011. 42160 DATA 498,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2012. 42170 '    XB1 XB2 YB1 YB2 SWM$         SMC
  2013. 42180 DATA   6, 35, 25, 43  ' 取消
  2014. 42190 DATA  36, 65, 25, 43  ' 消去
  2015. 42200 DATA  66,101, 25, 43  ' 入力
  2016. 42210 DATA 102,118, 25, 43  ' ヌ
  2017. 42220 DATA 119,135, 25, 43  ' ネ
  2018. 42230 DATA 103,135, 55, 68  ' 1
  2019. 42240 DATA 103,135, 69, 82  ' 2
  2020. 42250 DATA 103,135, 83, 96  ' 3
  2021. 42260 DATA 103,135, 97,110  ' 4
  2022. 42270 DATA 103,135,111,124  ' 5
  2023. 42280 DATA 103,135,125,138  ' 6
  2024. 42290 DATA 103,135,139,152  ' 7
  2025. 42300 DATA 103,135,153,166  ' 8
  2026. 42310 DATA 103,135,167,180  ' 9
  2027. 42320 DATA 103,135,181,194  ' 10
  2028. 42330 DATA 103,135,195,208  ' 11
  2029. 42340 DATA 103,135,209,222  ' 12
  2030. 42350 DATA 103,135,223,236  ' 13
  2031. 42360 DATA 103,135,237,250  ' 14
  2032. 42370 DATA 103,135,251,264  ' 15
  2033. 42380 DATA 103,135,265,278  ' 16
  2034. 42390 DATA   5, 18,  4, 17  'drag
  2035. 42400 '-------------------- スイッチグループ(5) Helpグループ
  2036. 42410 DATA 6               :'ボタン個数
  2037. 42420 '    X1 ,X2 ,Y1 ,Y2
  2038. 42430 DATA  60,577,100,421  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2039. 42440 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2040. 42450 '
  2041. 42460 '    XB1 XB2 YB1 YB2 SWM$     SMC SWNO.
  2042. 42470 DATA 499,512, 25, 38  '前頁
  2043. 42480 DATA 499,512, 39, 52  '前行
  2044. 42490 DATA 499,512,289,302  '次行
  2045. 42500 DATA 499,512,303,316  '次頁
  2046. 42510 DATA 499,512,  6, 19  '終了
  2047. 42520 DATA   6, 17,  7, 18  'drag
  2048. 42530 '
  2049. 42540 '-------------------- スイッチグループ[6] デジタル時計
  2050. 42550 DATA 2                :'ボタン個数
  2051. 42560 '    X1 ,X2 ,Y1 ,Y2
  2052. 42570 DATA  46,607,100,306  :' ウィンドウ座標   W_X1,W_X2,W_Y1,W_Y2
  2053. 42580 DATA 000,639,023,460  :'ドラッグ有効範囲 W_XA,W_XB,W_YA,W_YB
  2054. 42590 '--------------------
  2055. 42600 '    XB1 XB2 YB1 YB2 SWM$         SMC
  2056. 42610 DATA 543,561,  0, 18  ' end    01
  2057. 42620 DATA   3, 16,  3, 16  ' drag   02
  2058. 42630 '
  2059. 50000 *検索モード項目
  2060. 50010 DATA 4
  2061. 50020 '    "  検索モード               ",開始,終了,Key ,金額,項目
  2062. 50030 DATA "キーワード検索"         ,   1,   1,   1,   0,   1
  2063. 50040 DATA "金額範囲検索"           ,   1,   1,   0,   1,   1
  2064. 50050 DATA "キーワード・金額範囲検索",   1,   1,   1,   1,   1
  2065. 50060 DATA " 月間一覧表示 "         ,   1,   0,   0,   0,   1
  2066. 50061 '    x  y
  2067. 50062 DATA 14,33
  2068. 50063 DATA 14,56
  2069. 50064 DATA 14,85
  2070. 50065 DATA 14,108
  2071. 50066 DATA 14,137
  2072. 50070 *項目データ
  2073. 50080 DATA "出来事",0'----- 1
  2074. 50090 DATA "給 与",4'----- 2
  2075. 50100 DATA "車維持",1'-----13
  2076. 50110 DATA "教育費",1'-----14
  2077. 50120 DATA "雑 費",1'-----15
  2078. 50130 DATA "他支出",2'-----16
  2079. 50140 DATA "洗濯代",1'----- 7
  2080. 50150 DATA "光熱費",1'----- 8
  2081. 50160 DATA "被服費",1'----- 9
  2082. 50170 DATA "交際費",1'-----10
  2083. 50180 DATA "娯楽費",1'-----11
  2084. 50190 DATA "酒 代",1'-----12
  2085. 50200 DATA "車維持",1'-----13
  2086. 50210 DATA "教育費",1'-----14
  2087. 50220 DATA "雑 費",1'-----15
  2088. 50230 DATA "他支出",2'-----16
  2089. 50240 DATA "全収入",2'-----17
  2090. 50250 DATA "基支出",2'-----18
  2091. 50260 DATA "全支出",2'-----19
  2092. 50270 DATA "全収支",2'-----20
  2093. 50280 '
  2094. 50290 *DCLOCKDATA
  2095. 50300 '    1,2,3,4,5,6,7 
  2096. 50310 DATA 1,1,1,1,1,1,0 '0     (1)
  2097. 50320 DATA 0,1,1,0,0,0,0 '1     ---
  2098. 50330 DATA 1,1,0,1,1,0,1 '2    |   |(2)
  2099. 50340 DATA 1,1,1,1,0,0,1 '3 (6)|(7)|        ●(8)
  2100. 50350 DATA 0,1,1,0,0,1,1 '4     ---
  2101. 50360 DATA 1,0,1,1,0,1,1 '5    |   |(3)     ●(9)
  2102. 50370 DATA 1,0,1,1,1,1,1 '6 (5)|   |
  2103. 50380 DATA 1,1,1,0,0,0,0 '7     ---
  2104. 50390 DATA 1,1,1,1,1,1,1 '8     (4)
  2105. 50400 DATA 1,1,1,1,0,1,1 '9    
  2106. 50410 '    dgx,dgy 
  2107. 50420 DATA  80, 40       '(1)
  2108. 50430 DATA 120, 70       '(2)
  2109. 50440 DATA 110,140       '(3)
  2110. 50450 DATA  80,180       '(4)
  2111. 50460 DATA  40,140       '(5)
  2112. 50470 DATA  50, 70       '(6)
  2113. 50480 DATA  80,100       '(7)
  2114. 50490 DATA 280, 80       '(8)
  2115. 50500 DATA 280,140       '(9)
  2116. 50510 '   ofset
  2117. 50520 DATA 0      '1桁
  2118. 50530 DATA 120    '2桁
  2119. 50540 DATA 280    '3桁
  2120. 50550 DATA 400    '4桁
  2121. 50560 '
  2122. 60000 ' 座標確認 DEBUG ROUTINE
  2123. 60010 'LOAD@ "e:\work\hk2\tiff\hk2dicd.tif",(0,0)'
  2124. 60020 MOUSE 0:MOUSE 1,0,0,1
  2125. 60030  IF MOUSE(2,1)<>0 THEN STOP
  2126. 60040  IF MOUSE(2,0)=0 THEN 60040
  2127. 60050  X_M=MOUSE(4,0):Y_M=MOUSE(5,0):LX=INT(X_M/8):LY=INT(Y_M/19)
  2128. 60060  LINE(0,460)-(639,479),PSET,0,BF
  2129. 60070  SYMBOL(0,460),"X="+STR$(X_M)+" Y="+STR$(Y_M),.75!,.75!,6
  2130. 60080  GOTO 60030
  2131. 60090 ' 
  2132. 61000 ' 
  2133. 61100 *検索条件TESTファイル作成
  2134. 61110  DATDRV$="A:\"
  2135. 61120  SX$(1)="1992"
  2136. 61130  SX$(2)="01"
  2137. 61140  SX$(3)="1992"
  2138. 61150  SX$(4)="07"
  2139. 61160  SX$(5)="012345678901234567890123"
  2140. 61165  SX$(5)="0123456789小村利明890123"
  2141. 61170  SX$(6)="00000000"
  2142. 61180  SX$(7)="99999999"
  2143. 61190  SX$(8)="01"
  2144. 61200  GOSUB *SRCSPUT
  2145. 61210 STOP
  2146. 62000 LOCATE 2,6:COLOR 0'
  2147. 62010 PRINT "1992.02.14(日) 給  与 00000000 ";STRING$(32,"A");
  2148. 62100 LOCATE 2,7:COLOR 0
  2149. 62110 PRINT "1992.02.14 ";STRING$(64,"A");
  2150. 62120 STOP
  2151.